关于object中的equals方法
object中的equals方法:
public boolean equals(Object obj){
return (this==obj);
}
双等号如果两边是引用类型则比较的内存地址
该方法设计目的:判断两个类型是否一样.
在现实的业务逻辑中,已经不够用了,需要重写
package object中的方法;
public class Test02 {
public static void main(String[] args){
Object o1 =new Object();
Object o2 =new Object();
boolean b1=o1.equals(o2); //false
System.out.println(b1);
Star s1 =new Star(50,"zhangsan");
Star s2 =new Star(50,"zhangsan");
System.out.println(s1.equals(s2)); //false
}
}
class Star{
int id; //身份证
String name; //名字
public Star(int id, String name){
this.id = id;
this.name =name;
}
public boolean equals(Object obj){
if(this==obj)
return true;
if(obj instanceof Star){
Star s= (Star)obj;
if(s.id == id&& s.name.equals(name)){
return true;
}
}
return false;
}
}