Object之equals方法

来源:互联网 发布:linux远程登录 编辑:程序博客网 时间:2024/05/16 08:11

默认的equals方法是比较

两个引用是否指向的是一个对象,两个对象c1,c2,要验证 c1==c2 和 c1.equals(c2)是相同的,换汤不换药


所以要比较其他信息的话,就要自己重写了




比如在String类中就是重写了equals类,只要两个String的字符串相等,且不为空,就是相等的就是equals返回为true



public class TestEquals {public static void main(String[] args) {Cat c1 = new Cat(1,2,3);Cat c2 = new Cat(1,2,3);Cat c3 = new Cat(2,3,4);System.out.println(c1 == c2);System.out.println(c1.equals(c2));System.out.println(c1.equals(c3));}}class Cat {int color;int height,weight;public Cat(int color, int height, int weight) {this.color = color;this.height = height;this.weight = weight;}public boolean equals(Object obj) {if(obj == null) {return false;}else {if(obj instanceof Cat) {//判断是否为Cat类Cat c = (Cat)obj;if(c.color == this.color && c.height == this.height &&c.weight == this.weight) {return true;}}}return false;}}


0 0
原创粉丝点击