Java中的Boxing和AutoBoxing有什么区别?几本Java认证书都使用两个这样的术语。他们是否指的是拳击同一件事?

最佳答案

装箱是一种机制(即从intInteger);自动装箱是编译器的功能,通过它可以为您生成装箱代码。

例如,如果您使用代码编写:

// 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/

10-12 01:40
查看更多