企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
equals方法一: ![](https://box.kancloud.cn/36ffe307fc1d1077a32bec9f460507f7_917x217.png) ~~~ package a2; public class Test { public static void main(String[] args) { B b1 =new B(20); B b2 =new B(20); //System.out.println(b1.equals(b2));//false //System.out.println(b1==b2);//false } } class B{ private int i; B(int i){ this.i=i; } } ~~~ 如上,equals和==都是false,因为比较的是对象,本来就不是两个对象,但我们可以重写equils方法来比较对象中具体的属性 ![](https://box.kancloud.cn/44b5d48cb5a98f638975b4fa51805e1a_439x194.png) ~~~ package a2; public class Test { public static void main(String[] args) { B b1 =new B(20); B b2 =new B(20); System.out.println(b1.equals(b2));//true //System.out.println(b1==b2);//false } } class B{ private int i; B(int i){ this.i=i; } public boolean equals(B b2){ if(this.i==b2.i){ return true; }else{ return false; } } } ~~~ 如上,重写了equals方法,比较的是对象中的具体属性,返回了true ![](https://box.kancloud.cn/410e0664da574844f462402235065bb8_465x276.png) equals方法二: ![](https://box.kancloud.cn/c7301246b858f60327aace33a6075743_881x198.png) ~~~ package a2; public class Test { public static void main(String[] args) { /*B b1 =new B(20); B b2 =new B(20);*/ //System.out.println(b1.equals(b2));//true //System.out.println(b1==b2);//false C c1 =new C(10); C c2 =new C(10); System.out.println(c2.equals(c1));//true } } class B{ private int i; B(int i){ this.i=i; } public boolean equals(B b2){ if(this.i==b2.i){ return true; }else{ return false; } } } class C extends B{ private int j; C(int j){ super(j); this.j=j; } public boolean equals(B b2){ C c=(C)b2; if(this.j==c.j){ return true; }else{ return false; } } } ~~~ 帮助文档的使用: ![](https://box.kancloud.cn/f74c97fea038be88a89627761feb2a60_923x409.png)