Integer使用==比较的问题()

  本篇文章为你整理了Integer使用==比较的问题()的详细内容,包含有 Integer使用==比较的问题,希望能帮助你了解 Integer使用==比较的问题。

  

public static Integer valueOf(int i) {

 

   if (i = IntegerCache.low i = IntegerCache.high)

   return IntegerCache.cache[i + (-IntegerCache.low)];

   return new Integer(i);

  

 

  
int 和 int 比较,比较的是字面量的值,使用==始终是true

  int 和 integer 比较,由于 integer 会发生自动拆箱,也是true

  integer 和 integer 比较:

  若两个都是new出来的对象,则始终是false

  若一个是new,一个是非new(包括字面量 Integer.valueOf( )等),那么一个是自动装箱的对象,一个是new出来的对象,始终flase

  两个都不是new出来的,都会发生自动装箱,就需要看值的范围,在-128-127的范围内,会获取IntegerCache里的对象,这样就是true,范围外的还是false

  以上就是Integer使用==比较的问题()的详细内容,想要了解更多 Integer使用==比较的问题的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: