Integer

Beiyu 发布于 2025-04-11 79 次阅读


int是Java中的基本数据类型,而Integer是int的封装类。int类型的数据直接存储在内存中的栈中,而Integer类型的数据则存储在堆中的对象中。

问题

Integer a1 = 100
Integer a2 = 100
System.out.println(a1 == a2);

解析:

== 的作用是看内存地址是否匹配

Integer类使用了享元模式来缓存频繁使用的整数值。可以减少对象创建的次数,提高性能并减少内存使用。

Integer类中有一个私有的静态内部类IntegerCache,它维护了一个Integer实例的数组。默认情况下,IntegerCache缓存了-128到127之间的整数值。

这里赋值为100他们都通过valueOf方法从IntegerCache中拿到Integer实例。

所以最终结果是true

此作者没有提供个人介绍
最后更新于 2025-04-11