"泛型(更新)" Java教程:
http://docs.oracle.com/javase/tutorial/java/generics/types.html
定义了一个简单的Box类:
public class Box {
private Object object;
public void set(Object object) { this.object = object; }
public Object get() { return object; }
}
并声明:
由于它的方法接受或返回一个Object,只要它不是原始类型之一,你就可以自由地传入它。
我传递给set方法的每个原语都可以在没有编译错误的情况下工作。有没有办法阻止自动包装自动包装原语如果我想让它破坏?更一般地说:有没有办法手动防止自动装箱?我使用的是Java 7。
答案 0 :(得分:4)
不,没有。在预期引用类型的地方提供的基本类型将自动装箱(假设类型匹配)。
答案 1 :(得分:4)
有没有办法手动阻止自动装箱?
唯一确定的方法是在引入自动装箱时使用Java早期版本的Java 5。那将是一个非常糟糕的主意。
(或者可能使用指定Java 1.4源代码兼容性的“-source”标志进行编译。虽然你也会丢失很多其他现代Java语言特性:泛型,枚举等。)
自动装箱/拆箱是现代Java语言的基本组成部分,无法随意关闭和打开。