编辑
这主要是关于为什么类存在的问题,而不是类的用法。问题用于 Java Void 引用类型?侧重于实际用法,这个问题询问其实施背后的原因。
Java 有一个Void
用于关键字返回类型的盒装类void
。
从文档:
Void 类是一个不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。
我看到这个类使用的唯一情况是泛型,例如:
interface Foo<R> {
R foo();
}
Foo<Void> foo = new Foo<Void>(){
@Override
public Void foo() {
return null; // `return;` and `return void;` are syntax errors
}
}
这方面的一个例子是 Android 的AsyncTask
.
上面的例子似乎完全没有意义,因为方法不返回,void
它总是返回null
。
那么告诉我,为什么Void
存在?