Cat类(三个成员变量furcolor,height,weight)的equals方法如下public boolean equals(Object obj)实现过程:先判参数不为空,接着判是否同一类型,否的话,强转后比较三个成员变量均都相同才返回真,否则为假
import java.util.Objects;
public class Cat {
String furcolor;
float height;
float weight;
public Cat(){}
public Cat(String furcolor,float height,float weight){
this.furcolor = furcolor;
this.height = height;
this.weight = weight;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Cat cat = (Cat) o;
return Float.compare(cat.height, height) == 0 &&
Float.compare(cat.weight, weight) == 0 &&
Objects.equals(furcolor, cat.furcolor);
}
@Override
public int hashCode() {
return Objects.hash(furcolor, height, weight);
}
public String getFurcolor() {
return furcolor;
}
public void setFurcolor(String furcolor) {
this.furcolor = furcolor;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
}
getClass().toString()获取变量类型进行比较,三个变量比较
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!