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与前面三个对象都不一样。