回复

甜恩

2022年07月20日

Integer i01 = 59. 直接赋值数字,java会自动装箱,自动调用Integer.valueOf(59). 

Integer i03 = Integer.valueOf(59).  Integer.valueOf(int i)会返回一个Integer对象,当i在-128~127之间时,会返回缓存中已创建的Integer对象。
Integer i04 = new Integer(59) 返回一个新的对象。

所以这道题中,59在-128~127之间,所以前三条语句返回的是同一个对象(在缓存区已创建的对象),而i04使用new新创建了一个新的对象,所以i04与前面三个对象都不一样。 

0 2
回复
暂无回复
查看更多
我要回复