分配List<Object>到List<? super String>工作正常.
分配List<List<Object>>给a List<List<? super String>>不编译.
码
public class Main {
public static void main(String[] args) {
// works fine
List<Object> listOfObject = new ArrayList<>();
takeListSuperString(listOfObject);
// doesn't compile
List<List<String>> listOfListOfObject = new ArrayList<>();
takeListOfListSuperString(listOfListOfObject);
}
static void takeListSuperString(List<? super String> listSuperString) {
}
static void takeListOfListSuperString(List<List<? super String>> listOfListSuperString) {
}
}
Run Code Online (Sandbox Code Playgroud)
题
为什么不List<List<? super String>>一样List<? super String>?
另外,任何想法,我可以在哪里查找这样的东西?
一个相关的问题是Generics hell:hamcrest matcher作为方法参数.但我没有找到有帮助的答案.
编辑
在我终于得到它之前,我必须通过JB …