Java中的Boxing和AutoBoxing有什么区别?几本Java认证书都使用两个这样的术语。他们是否指的是拳击同一件事?
最佳答案
装箱是一种机制(即从int
到Integer
);自动装箱是编译器的功能,通过它可以为您生成装箱代码。
例如,如果您使用代码编写:
// list is a List<Integer>
list.add(3);
然后编译器会自动为您生成装箱代码;代码中的“最终结果”将是:
list.add(Integer.valueOf(3));
关于为什么
Integer.valueOf()
而不是new Integer()
的注释:基本上是因为JLS这么说:)引用section 5.1.7:如果使用“纯”构造函数,则不能强制执行此要求。可以使用工厂方法,例如
Integer.valueOf()
。关于java - Java中的Boxing和AutoBoxing有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33895700/