1.在java中equals方法的比较
“主类型”的比较可以简单的使用运算符”!=”或者“==”进行比较,在进行对象的比较时,如果没有重写equals方法,则默认比较的是对象的”句柄”,即判断对象地址是否相等。简单比较如下:
class MyObject
{
int num;
}
public class Test
{
public static void main(String[] args)
{
MyObject ob1=new MyObject();
MyObject ob2=new MyObject();
System.out.println(ob1.equals(ob2));
}
}
输出如下:
接下来进行重写equals方法进行测试:
class MyObject
{
int num;
public MyObject(int num)
{
this.num=num;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof MyObject)
{
return num==((MyObject)obj).num;
}
return false;
}
}
public class Test
{
public static void main(String[] args)
{
MyObject ob1=new MyObject(10);
MyObject ob2=new MyObject(10);
System.out.println(ob1.equals(ob2));
}
}
输出如下: