注意Integer.TYPE
and Integer.class
are both和are both Class<Integer>
,以及如何使用自动装箱在and 和 and之间进行转换。问题是这是否适用于: and are both ,但是你能在and之间“转换”吗?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>
返回一个,因为它将被装箱。对于返回也是如此。所以,对于 a : 因为permissible 的唯一值是 null (除非你做了奇怪的反射,这很少是合理的),这是否意味着你可以省略强制性的,有效地“装箱” ?int
doSomething()
int
Foo<Double>
double
Foo<Void>
Void
return null
Void