为什么不能将通配符 (?) 用作参数类型、字段、局部变量或方法的返回类型?
2022-09-03 05:43:14
通配符可用于各种情况:作为参数,字段或局部变量的类型;有时作为返回类型(尽管更好的编程实践是更具体)。
我已经在下面的类中尝试了所有四个,并且每个类都出现了编译器错误。为什么?我做错了什么?
public class MainClass {
private ? instanceFieldWithWildCardType;//ERROR
private static ? staticFieldWithWildCardType;//ERROR
private void methodWithWildCardParam(? param) {}//ERROR
private void methodWithWildCardLocalVariable() {
? localVariableWithWildCardType;//ERROR
}
private ? methodWithWildCardReturnType() {//ERROR
return null;
}
private void methodWithWildCardParam(? param) {}//ERROR
}