为什么有些Integer对象==其结果为true呢?
下文笔者将讲述相应的示例分享,如下所示:
下文笔者将一一道来,如下所示
public static void main(String[] args) { Integer i = -88; Integer j = -88; System.out.print(i==j); // output: true 内存地址为什么一样呢? System.out.print(i.equals(j)); // output: true Integer n = 128; Integer m = 128; System.out.print(n==m); // output: false System.out.print(n.equals(m)); // output: true }那么为什么上面的两个Integer对象的内存地址一样呢?
下文笔者将一一道来,如下所示
-128和127之间的范围作为Integer对象被缓存在缓存池中 所以这个之间的数据,其内存地址相同
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。