public class Student {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
public Student(){
}
public Student(int id, String name){
setId(id);
setName(name);
}
}
public class StudentTest {
//使用有参方式构造Student类型的两个对象并判断是否相等
public static void main(String[] args){
Student s1 = new Student(10001,"lll");
Student s2 = new Student(10003,"fd");
//调用从Object类中继承下来的equals方法,该方法默认比较两个对象的地址
boolean b1 = s1.equals(s2);
System.out.println("b1=" +b1); // b1= false
Student s3= s1;
boolean b2 = s1.equals(s3);
System.out.println("b2="+b2);
}
}
重写equals之后要重写hasCode
确保equals 结果为True时的两个对象的hashCode码也相同即可
重写toString方法可用于返回有一定意义的字符串
包装类
Integer
(-128到127之间的数值已经被自动装箱,已有固定的地址,所以如果数值在此范围之间,两个数值相同的对象指向同一个地址)