黑马程序员技术交流社区
标题:
这两个一样的程序,为什么结果不同?求解释?
[打印本页]
作者:
待解封的小刀
时间:
2014-7-17 11:16
标题:
这两个一样的程序,为什么结果不同?求解释?
class Demo3
{
private int age;
Demo3(int age)
{
this.age=age;
}
public boolean equals(Demo3 b)
{
return this.age==b.age;
}
}
class Demo2Equals
{
public static void main(String[] args)
{
Demo3 b=new Demo3(5);
Demo3 c=new Demo3(5);
System.out.print(b.equals(c));
}
}
结果 是true
class Demo
{
private int[] arr;
Demo(int[] arr)
{
this.arr=arr;
}
public boolean equals(Demo c)
{
return this.arr==c.arr;
}
class ArrEquals
{
public static void main(String[] args)
{ int arr1[]={1,2,3};
int arr2[]={1,2,3};
Demo p1=new Demo(arr1);
Demo p2=new Demo(arr2);
System.out.println(p1.equals(p2));
}
结果是false
这两个有什么不同吗?为什么第二个不成立 而第一个成立了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2