黑马程序员技术交流社区

标题: 关于“==”是引用比较还是值比较? [打印本页]

作者: Dora    时间: 2014-3-4 23:55
标题: 关于“==”是引用比较还是值比较?
int e = 1;
Integer f = new Integer(1);
System.out.println(e==f);
int e = 1;
Integer f = new Integer(1);
System.out.println(e==f);

为什么输出的是true?
“==”比较符在基本类型比较的是具体值,在引用类型比较的是引用值,e的值是1,f是引用,为什么能是相等的呢?  难道f的引用值也是1?
想不明白,请求解答
作者: ζ丶凡σ    时间: 2014-3-5 09:35
1.5版本新特性里的自动装箱和自动拆箱,int e自动装箱成Integer,或者Integer(1)自动拆箱成int e =1,然后==两边类型就一样了。
作者: 行如止水    时间: 2014-3-5 09:45
自动装箱与自动拆箱
作者: 今生无憾    时间: 2014-3-5 09:52
自动拆装箱,Integer类型拆成int基本类型,==比较的就是数值了。
作者: 李白衣    时间: 2014-3-5 10:14
给你个参考地址,说的蛮详细的。
http://www.ticmy.com/?p=110




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2