"=="如果比较基本数据类型,则比较类型内的值
int a =1;
int b =1;
System.out.println(a==b);//true
如果比较两个对象的话,则比较地址
Person per =new Person();
per.age=14;
Person per1 =new Person();
per1.age=14;
System.out.println(per==per1);//false
如果把两个对象地址写成一样的
per =per1;
System.out.println(per ==per1);//true
equals不能比较基本数据类型,只能比较引用类型,如果不重写equals()方法则执行默认object的方法比较的是地址
Person per =new Person();
per.age=14;
Person per1 =new Person();
per1.age=45;
per =per1;
System.out.println(per.equals(per));//true
在编程软件里提供重写equals()方法,用于比较对象中的赋值的内容是否相等
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
return true;
}
继续比较
Person per =new Person();
per.age=14;
Person per1 =new Person();
per1.age=45;
System.out.println(per.equals(per1));//false