Student[] arr1 = { new Student(111, "bbbb", "london"), new
Student(131, "aaaa", "nyc"), new Student(121, "cccc", "jaipur") };
Student[] newArr = { new Student(131, "aaaa", "nyc"), new
Student(111, "bbbb", "london"), new Student(121, "cccc", "jaipur") };
使用链接中提供的相同equals方法比较这两个,为什么它们不相等?数组都仍然包含相同的元素。...
public boolean equals(Object obj) {
// typecast obj to Student so that we can compare students
Student s = (Student) obj;
return this.rollno == s.rollno && this.name.equals(s.name)
&& this.address.equals(s.address);
}
这是链接here中提供的equals函数
答案 0 :(得分:1)
您只需阅读文档即可获得答案。
如果两个指定的对象数组等于1,则返回true 另一个。如果两个数组都包含,则认为这两个数组相等 相同数量的元素,以及所有对应的元素对 在两个数组中相等。考虑两个对象e1和e2 等于(e1 == null?e2 == null:e1.equals(e2))。 换句话说, 如果两个数组在相同的位置包含相同的元素,则它们相等 订单。另外,如果两个数组引用均相等,则认为它们相等 空。
强调我。