4
注意如何Integer.TYPE
和Integer.class
都是Class<Integer>
,Double.TYPE
和Double.class
都是Class<Double>
,並使用自動裝箱如何向int
和Integer
以及double
和Double
之間的相互轉換。問題是void
是否適用:Void.TYPE
和Void.class
都是Class<Void>
,但是您可以在void
和Void
之間「轉換」嗎?自動裝箱和無效
爲了把它以另一種方式,假設你有這樣的接口:
public interface Foo<T> {
public T doSomething();
}
實施Foo<Integer>
類是自由地實施其doSomething()
返回int
爲int
將被裝箱。 Foo<Double>
同樣返回double
。因此,對於Foo<Void>
:由於允許的唯一值Void
爲空(除非您進行奇怪的反思,這很少合理),這是否意味着您可以省略強制性return null
,有效地「裝箱」Void
?