为什么有些Integer对象==其结果为true呢?

java-教程王 Java经验 发布时间:2022-04-19 21:35:38 阅读数:2952 1
下文笔者将讲述相应的示例分享,如下所示:
 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对象被缓存在缓存池中
所以这个之间的数据,其内存地址相同
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202204/16503753852951.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者