当前位置: 技术问答>java相关
简单问题,请指教!!!
来源: 互联网 发布时间:2015-05-19
本文导语: 我在程序段中特意加上System.out.println (LA);System.out.println (LB);发现他们输出都是:7,但是为什么最后输出的结果是:not equal? public class EqualsTest { public static void main(String args[]) { Long LA=new Long(7); Long LB=new L...
我在程序段中特意加上System.out.println (LA);System.out.println (LB);发现他们输出都是:7,但是为什么最后输出的结果是:not equal?
public class EqualsTest
{
public static void main(String args[])
{
Long LA=new Long(7);
Long LB=new Long(7);
System.out.println (LA);
System.out.println (LB);
if(LA==LB) System.out.println ("equal");
else System.out.println ("not equal");
}
}
public class EqualsTest
{
public static void main(String args[])
{
Long LA=new Long(7);
Long LB=new Long(7);
System.out.println (LA);
System.out.println (LB);
if(LA==LB) System.out.println ("equal");
else System.out.println ("not equal");
}
}
|
当然是not equal,因为LA,LB是不同的对象,尽管值相同!
|
运算符“==”是比较句柄
你的LA和LB是指向两个不同的对象
也就是说LA和LB是两个不同的句柄
所以结果是LA!=LB
所以打印出来当然是not equal罗!
你的LA和LB是指向两个不同的对象
也就是说LA和LB是两个不同的句柄
所以结果是LA!=LB
所以打印出来当然是not equal罗!