栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Integer对象的比较

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Integer对象的比较

public class BoxingTest {
    public static void main(String[] args) {
        Integer x = 127;
        Integer y = 127;
        System.out.println("x==y = " + (x == y));       //较小的两个相同的Integer返回true
        System.out.println("x.equals(y) = " + x.equals(y));

        Integer m = 999;
        Integer n = 999;
        System.out.println("(m==n) = " + (m == n));     //较大的两个相同的Integer返回false
        System.out.println("m.equals(n) = " + m.equals(n));
    }
}

==比较,较小的两个相同的Integer返回true,较大的两个相同的Integer返回false,这是因为Integer是不变类,编译器把Integer x = 127;自动变为Integer x = Integer.valueOf(127);为了节省内存,Integer.valueOf()对于较小的数(<=127),始终返回相同的实例,因此,==比较“恰好”为true,但我们绝不能因为Java标准库的Integer内部有缓存优化就用==比较,必须用equals()方法比较两个Integer;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号