java 常见的数据值比较 Intrger;Long

java 常见的数据值比较 Intrger;Long

最近复习了一下基础,记录一下

public static void main(String[] args) {
        Integer i = 200;
        Long l = 200L;

//        System.out.println(i==l);//类型不一样,不能用==比较,直接编译报错
        System.out.println(i == l.longValue()); //true 拆箱然后比较两个基本类型
        System.out.println(i.equals(l));//false //两个数据类型不一样.直接false
        System.out.println(i.equals(l.longValue()));//false l会装箱成Long,然后类型不一样
        System.out.println(i.equals(l.intValue()));//true l会装箱成Integer 然后两个值相同

        Integer a = 3;
        Integer b = 3;
        System.out.println(a==b);//true 值在-128~127范围内,从缓冲区取值,相同
        System.out.println(a.equals(b));//true 两个包装类型,值也相同
        Integer c = 129;
        Integer d = 129;
        System.out.println(c==d);//false 超出了-128~127范围,不在缓存区中,地址值不同,
        System.out.println(c.equals(d));//true 类型相同,值也相同
        Integer e = 127;
        Integer f = 127;
        System.out.println(e==f);//true 值在-128~127范围内,从缓冲区取值,相同
        System.out.println(e.equals(f));//true 类型相同,值也相同
        Long h = 128L;
        Long g = 128L;
        System.out.println(h==g);//false 超出了-128~127范围,不在缓存区中,地址值不同,
        System.out.println(h.equals(g));//true 类型相同,值相同

        Long k = 127L;
        Long m = 127L;
        System.out.println(k==m);//true 值在-128~127范围内,从缓冲区取值,相同
        System.out.println(k.equals(m));//true 类型相同,值也相同

 }

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值