equals
上一篇讲了String类中的equals方法,由于String是由多个char组成,所以可以转换成char数组逐个比较。
类和对象
类:
对事物的一个分类,他们具有相同的属性和动作。
对象:
世间万物皆对象。
关系:
类是对象的抽象。
对象是类的实体。
equals比较:
Dog dog1 = new Dog("旺财");
Dog dog2 = new Dog("大黄");
public class Dog{
public String name;
public int id;
public Dog(String name,int id){
this.name = name;
this.id = id;
}
}
现在有这两个对象,Dog类中有String name和int id两个属性,我们如何使用equals进行比较呢?
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(obj instanceof Dog){
Dog s = (Dog)obj;
if(this.id == s.id && this.name.equals(s.name)){
return true;
}
}
return false;
}
如上代码
1.我们先比较两个对象的地址
2.接下去使用instanceof关键字比较他们是否是同一个类型。
3.分别比较对象的所有属性。