List <!-?之间的区别超级T->和List <class <? super =“” t =“”>

时间:2019-03-25 21:26:52

标签: java

我正在使用Java中的泛型,但在尝试理解下面两个代码的使用位置时遇到了麻烦。

我知道第一个myList将确保列表仅包含类型Integer的元素及其所有超类。现在,我正在尝试找出myList2在这里适合的位置。

List<? super Integer> myList;
List<Class<? super Integer>> myList2;

编辑:这并不是所链接问题的重复...因为这显然是关于?Class<?的使用,而另一个问题是与super与{{ 1}}

2 个答案:

答案 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