美文网首页
[java基础] java中的自动装箱与自动拆箱

[java基础] java中的自动装箱与自动拆箱

作者: 抬头看月亮 | 来源:发表于2017-12-05 15:44 被阅读0次

自动装箱的一个例子:

Integer i = 1; //实际上是执行了Integer i = Integer.valueOf(1)

自动拆箱的一个例子:

Integer a =1;
int b = a; //自动拆箱就是从对象中把基本数据取出来

Integer自动拆箱的一个好玩的例子:

Integer a = 100;
Integer b = 100;
System.out.println(a==b); // true

Integer c = 200;
Integer d = 200;
System.out.println(c == d); // false
原因如下:

public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
并不是所有的valueOf都是这么玩的,Float.valueOf 就是直接返回一个 新对象。

相关文章

网友评论

      本文标题:[java基础] java中的自动装箱与自动拆箱

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