62,625
社区成员
发帖
与我相关
我的任务
分享public class Eas {
private int age;
private int a;
public Eas(int age, int a) {
this.age = age;
this.a = a;
}
public Eas() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Eas eas = (Eas) o;
return age == eas.age &&
a == eas.a;
}
@Override
public int hashCode() {
return Objects.hash(age, a);
}
}
package teste;
public class m {
public static void main(String[] args) {
Eas eas = new Eas(12,1);
Eas eas1 = new Eas(12,1);
System.out.println(eas);
System.out.println(eas1);
System.out.println(eas==eas1);
;
}
} System.out.println(eas);
System.out.println(eas1)
但是这两句输出的结果不应该是地址值吗?难道重写hashCode方法会使输出的值变化成其他的值?那这个值是什么呢又?