Java Integer包装类输出:为什么打印Integer对象时显示的是数值而不是地址?

Java Integer包装类输出值详解:Integer a = 1; System.out.println(a);

Java中的Integeri

nt的包装类,用于将基本数据类型int封装成对象。当声明Integer a = 1;时,Java会自动进行自动装箱操作,创建一个Integer对象,其值是1。

然而,当使用System.out.println(a);打印Integer对象时,输出的却是数值1,而不是对象的内存地址。这是因为System.out.println()方法会自动调用对象的toString()方法,将对象转换为字符串进行输出。

Integer类重写了toString()方法,该方法返回对象的数值表示形式。 因此,System.out.println(a);实际上等同于System.out.println(a.toString());,最终输出的是数值"1"。 这避免了直接输出内存地址,提高了代码的可读性和易用性。