我正在使用Java中的泛型,但在尝试理解下面两个代码的使用位置时遇到了麻烦。
我知道第一个myList
将确保列表仅包含类型Integer
的元素及其所有超类。现在,我正在尝试找出myList2
在这里适合的位置。
List<? super Integer> myList;
List<Class<? super Integer>> myList2;
编辑:这并不是所链接问题的重复...因为这显然是关于?
与Class<?
的使用,而另一个问题是与super
与{{ 1}}
答案 0 :(得分:1)
第一个“ myList”可能包含整数值。示例:myList.add(200);
第二个“ myList2”可能包含整数类型的类。示例:myList2.add(Integer.class);
答案 1 :(得分:0)
第一个列表包含Integer的对象及其超类。
第二个包含Integer及其超类的类对象(或简称为类)
Integer.class;
Number.class;
您可以在此处详细了解差异:The difference between Classes, Objects, and Instances