equals方法的实现

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()获取变量类型进行比较,三个变量比较

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632