Java迷题:等于,还是不等于?经典啊
等于还是不等于?
看来看下面的一段代码:
代码片段1
public static void main(final String[] args) { Integer a = Integer.valueOf(156); Integer b = Integer.valueOf(156); System.out.println(a == b); }由于156不在-128到127范围内,所以两个对象都是通过new Integer()的方式创建的,所以最后结果为false。
片段1和片段2就不做具体分析了,相信读者可以自行分析。
最后,请大家思考一下问题:通过上面的分析,了解到整数的自动装箱是通过Integer.valueOf(int number)实现的,那么自动拆箱是如何实现的呢?