Java==运算符与equals方法的区别及intern方法的正确使用(二)

2014-11-24 08:16:54 · 作者: · 浏览: 1
{
System.out.println("i!=m");
}

if(i==n)
{
System.out.println("... ... ... ...");
System.out.println("i="+i);
System.out.println("n="+n);
System.out.println("i==n");
}
else
{
System.out.println("i!=n");
}
//经运行得出i=m(m的值由j+k得到),i=n
//i,m,n的值都相等 , 由于i==m 得出true i==n得出true
//所以可以得出结论: ==参与非对象类型运算时,是用来比较常量的值是否相等
}
}
综上所属,得出如下结论:
1) ==运算符参与对象类型运算时是用来比较对象是否想得的.
2) ==运算符参与非对象类型运算时是用来比较值是否相等的.
3) equals()方法用于比较两个对象的值是否相等
4) 两个对象的hashCode()值相等,并不代表其对象也相等
5) intern()方法能使两个(对象不相等而值相等的)对象变得相等,从而可以公用内存已有的对象,这样做可以节约内存资源.
6) 对象在间接赋予(有可能与已有对象)同样的值的时候,建议用一下intern()方法,从而可公用内存中存在的对象.

摘自 StellaAh的专栏