关于int,Integer,double比较问题

      Integer i1 = 100;
        Integer i2 = 100;
        Integer i3 = 200;
        Integer i4 = 200;
        Integer i5 = i1 + i2;
        Integer i6=50;
        Integer i7 =100;
        Integer i8 = 150;
        Integer i9 = i7+i6;
        Double j1 =0.1;
        Double j2 = 0.2;
        Double j3 = 0.3;
        Double j4 = j1+j2;
        int k1 =100;
        int k2 =200;
        System.out.println(i1 == i1);
        System.out.println(i3 == i4);
        System.out.println(i3 == i5);
        System.out.println(i8==i9);
        System.out.println(i8==i7+i6);
        System.out.println(j3==j1+j2);
        System.out.println(j3==j4);
        System.out.println(i1==k1);
        System.out.println(i3==k2);
        System.out.println(k2==i1+i2);
//        true
//        false
//        false
//        false
//        true
//        false
//        false
//        true
//        true
//        true

   public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }

总结:
1.Integer类型,数值在 【-128,127】之间返回就取得是catche中,超过这个数值就创建新的对象
2.关于加号,如果赋给一个新的变量做比较就是false,如果直接相加比较,则为true
3,double的任何比较都为false,哪怕是数值相加
4.int类型和Integer类型之间的比较都会被自动装拆箱,正常比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值