Integer (int)类型分析及相关面试题

Integer类是Java开发中最常用的基础类之一,也是基本数据类型int对应的包装类。Integer能使在Java中像类一样使用整型数字,自Java 5引入自动装箱拆箱机制以后,能够混合使用Integerint来表示整型数字,极大的方便了对数字的操作。同样如果使用不当,也有意想不到的结果产生。所以通过之前的学习和开发过程中踩过的坑,本文总结一下Integer需要注意的一些使用问题和常遇到的相关面试题。

Integer对象 和 int 进行比较

Integer是类,有两种创建方式:= 赋值和new关键字,int是基本类型,只能通过 = 赋值。那么Integerint比较,结果如何呢?请看下面的代码例子:

public void intCompareInteger() {
   
        for (int i = -200; i < 200; i++) {
   
            int num = i;
            Integer integer = i;
            Integer integer2 = new Integer(i);
            System.out.println(num == integer);
            System.out.println(num == integer2);
        }
}

// 执行结果:
true
true
true
...
true

运行结果表示数值相同的Integer对象和int变量是相等的,而不会使用对象的比较方法,这也是因为自动拆箱的存在,当基本数据类型与其包装类使用关系操作符 == 进行比较时,其包装类对象会自动拆箱进行运算,因此以上代码是转换为了两个int进行比较。

另外当包装类参与算术操作符运算时,也会被自动转成基本数据类型,请看下面的案例:

public void calIntAndInteger() {
   
        int a = 20;
        int b = 38;
        Integer c = 18;
        Integer c1 = new Integer(18);
        System.out.println(b == c + a);
        System.out.println(b == c1 + a);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值