第一个可以翻译成:交给我了
你對这个回答的评价是
其实这里的on是口语,不是语法中的意思就像中文中的很多口语一样。
你学英语的时候也知道英语口语和正式的渶语是不一样的
你对这个回答的评价是?
你对这个回答的评价是
on 是在这里是指在的意思
在我?在你的路在我的路?应该不是吧
你对这個回答的评价是
(1)如果两个对象相同(equals方法返回true)那么它们的hashCode值一定要相同;
(2)如果两个对象的hashCode相同,它们并不一定相同
当然,你未必要按照要求去做但是如果你违背了上述原则就会發现在使用容器时,相同的对象可以出现在Set集合中同时增加新元素的效率会大大下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)
补充:关于equals和hashCode方法,很多Java程序员都知道但很多人也就是仅仅知道而已,在Joshua Bloch的大作《Effective Java》(很多软件公司《Effective Java》、《Java编程思想》以及《重构:改善既有代码质量》是Java程序员必看书籍,如果你还没看过那就赶紧去亚马逊买一本吧)中是这样介紹equals方法的:
实现高质量的equals方法的诀窍包括:
1. 使用==操作符检查”参数是否为这个对象的引用”;
2. 使用instanceof操作符检查”参数是否为正确的类型”;
3. 对于类中的关键属性,检查参数传入对象的属性是否与之相匹配;
4. 编写完equals方法后问自己它是否满足对称性、传递性、一致性;
6. 不要将equals方法参数中的Object对象替换为其他的类型,在重写时不要忘掉@Override注解
用英语表达这句话这样说对吗?