34 下面论述正确的是()?
A: 如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必然返回同样的值
B: 如果a,b的hashcode相同,那么a.equals(b)必须返回true
C: 对于一个类,其所有对象的hashcode必须不同
D: 如果a.equals(b)返回true,那么a,b两个对象的hashcode必须相同
A: 如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必然返回同样的值
B: 如果a,b的hashcode相同,那么a.equals(b)必须返回true
C: 对于一个类,其所有对象的hashcode必须不同
D: 如果a.equals(b)返回true,那么a,b两个对象的hashcode必须相同
举一反三
- 两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
- 在ArrayList类中需要查找的对象的类必须覆盖equals和hashCode ( )
- 请按照下列要求编写程序。 1、 编写一个Student类,包含name和age属性,提供有参构造方法。 2、 在Student类中,重写toString()方法,输出age和name的值。 3、 在Student类中,重写hashCode()和equals()方法 a. hashCode()的返回值是name的hash值与age的和。 b. equals()判断对象的name和age是否相同,相同则返回true不同返回false。 4、最后编写一个测试类,创建一个HashSet<Student>对象hs,向hs中添加多个Student对象,假设有两个Student对象相等,输出HashSet,观察是否添加成功
- 如果某类所创建的2个对象相对应的成员变量的值相同,认为是同一个对象的话,一般情况应该重写该类的( )方法。 A: == B: hashcode() C: toString() D: equals()
- 对象类Object中比较两个对象内容相等的方法是( )。 A: toString() B: equals() C: hashCode() D: finalize()
