“泛型(更新)”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; }
}
Run Code Online (Sandbox Code Playgroud)
并指出:
因为它的方法接受或返回一个对象,你可以自由地传入任何你想要的东西,只要它不是原始类型之一。
我传递给 set 方法的每个原语都可以正常工作而不会出现编译错误。如果我确实希望它损坏,有什么方法可以防止自动包装原语的自动装箱?更一般地说:有没有办法手动防止自动装箱?我正在使用 Java 7。
有没有办法手动防止自动装箱?
唯一确定的方法是使用早于 Java 5 的 Java 版本,那时引入了自动装箱。
或者可能使用-source指定 Java 1.4 源兼容性的标志进行编译。注:这是行不通的与javacJava中9或更高版本,因为支持-source小于或等于5还未从删除javac。
对于实验以外的任何事情来说,做任何一个都将是一个非常糟糕的主意。如果恢复到 Java 1.4 级别,您还会失去许多其他重要的 Java 语言特性;例如泛型、枚举等。
简而言之,自动装箱/拆箱是现代 Java 语言的基本组成部分,不能随意关闭和打开。
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |