美文网首页
Integer 判断是否相等

Integer 判断是否相等

作者: couriravant | 来源:发表于2021-04-21 19:05 被阅读0次
Integer a1 = 127;
Integer b1 = 127;
if(a1==b1){
    System.out.println("相等");
}else{
    System.out.println("不等");
}
 
Integer a = 128;
Integer b = 128;
if(a==b){
    System.out.println("相等");
}else{
    System.out.println("不等");
}

运行结果是:
相等
不等
测试了下,两个Integer大于或等于128时是不等的。

JVM会自动维护八种基本类型的常量池,int常量池中初始化-128~127的范围,所以当为Integer i=127时,在自动装箱过程中是取自常量池中的数值,而当Integer i=128时,128不在常量池范围内,所以在自动装箱过程中需new 128,所以地址不一样。
对于Integer来说,你用==比较的是对象引用地址,而不是Integer的值。Integer你要把当当成一个对象来看待

要比较两个Integer类型的大小可以调用它的intValue方法 Long 对应的是longValue,这个其实在api就是调用强转的方法

所有的相同类型的包装类对象之间值的比较,全部使用equals方法比较。

相关文章

  • Integer 判断是否相等

    运行结果是:相等不等测试了下,两个Integer大于或等于128时是不等的。 JVM会自动维护八种基本类型的常量池...

  • Java基础中Integer值用==和equal判断相等问题

    一、Integer equals()方法判断的是两个Integer对象值是否相等 二、Integer==判断两个对...

  • 判断两个Integer值相等为什么不用==

    今天在开发中判断两个Integer值相等, 得出的结论,Integer为对象,如果判断相等要用equals,而不能...

  • integer判断值相等

    今天我烦了一个迷糊,其实这个知识点我之前面试的复习到,今天在编码中又掉到坑里去了 我发现我的值怎么全是0然后打断点...

  • Java Integer比较

    结论: Integer比较数值是否相等,建议使用Integer.intValue() 或者 equals()方法

  • python集合操作

    判断两个list是否相等 判断两个tuple是否相等 判断两个set是否相等 list转set list转tupl...

  • java比较两个list是否相等

    判断两个list是否相等:先判断list的个数是否相等,然后判断是否相互包含。public boolean equ...

  • python笔记day6

    补充: == 和 is == --- 判断两个数据的值是否相等 is --- 判断地址是否相等 python数...

  • kotlin学习笔记

    $ ?表示对象可能为空 ?: !! ==,=== ==判断值是否相等,===判断值及引用是否完全相等。 ..Kot...

  • Java 数值对比

    数值对比1.判断Integer值相等最好不用==最好使用equalswhy:当Integer的值不在-128到12...

网友评论

      本文标题:Integer 判断是否相等

      本文链接:https://www.haomeiwen.com/subject/nvwzlltx.html