java中一般情况下,不可以再用==来比较是否相等的情况,而是要用Equals方法来比较,Equals方法属于Object类并不是final类型,所以任何类都可以继承并且覆盖该方法。
注意:对象之间不可以再用“==”来进行比较,因为这样比较的是对象的内存地址,而不是对象中的具体属性。
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));
}
}
class B
{
private int i;
B(int i)
{
this.i=i;
}
//覆盖后的equals方法比较的不再是两个对象的内存地址,而是根据自己的需求来决定。
//本例中比较的是变量i的值,当两个对象的i都等于20,此时两个对象的比较结果返回了true。
public boolean equals(B b2)
{
if(this.i==b2.i)
return true;
else
return false;
}
}