今天在用Integer的时候,发现了一个这样的问题。
Integer a=127;
Integer b=127;
System.out.println(a == b); //此处输出true
Integer c=128;
Integer d=128;
System.out.println(c == d); //此处输出false
恩,结果我写在注释里面了,看到第一个输出的时候,你会觉得很正常,当看到第二个输出的时候,就会觉得不正常了呢。为什么是这样呢?是这样的,可以理解成的是Integer的值如果在-128到127之间的时候,用的是缓存,如果超出这个范围就需要再次new一个对象,所以上面的输出true,下面的输出false。
最后
以上就是欢呼黄豆最近收集整理的关于java之Integer的问题的全部内容,更多相关java之Integer内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复