一道笔试题:
解析:Integer a=100;这句代码会进行自动装箱,实际会调用Integer.valueOf(100)将100转化成Integer类型的
Integer类中valueOf方法的实现中,对数据分开处理的:当数据在-128到127之间a和b就使用同一个对象
当数据不在这个范围之内比如c和d就使用不同的对象。然后用c和d比较两个对象的内存地址就是false
Integer类的valueOf方法实现如下:
点击(此处)折叠或打开
- public static void main(String [] args){
- Integer a=100;
- Integer b=100;
- System.out.println(a==b);//true
- Integer c=200;
- Integer d=200;
- System.out.println(c==d);//false
- }
Integer类中valueOf方法的实现中,对数据分开处理的:当数据在-128到127之间a和b就使用同一个对象
当数据不在这个范围之内比如c和d就使用不同的对象。然后用c和d比较两个对象的内存地址就是false
Integer类的valueOf方法实现如下:
![](http://img.blog.itpub.net/blog/attachment/201506/7/30246495_1433654359rb7f.png?x-oss-process=style/bb)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30246495/viewspace-1690358/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30246495/viewspace-1690358/