无法将Integer添加到具有Generic类型<! - 的Arraylist中?扩展数字 - >

时间:2016-08-30 21:24:49

标签: java generics

我不能像这样添加new Integer(1)

List<? extends Number> numList = new ArrayList<Integer>();
    numList.add(new Integer(1));

但我可以这样做:

List<? super Number> numList = new ArrayList<>();
    numList.add(new Integer(1));

但如果我们实例化像这样的新ArrayList&lt; Integer &gt;();

它不起作用。

据我所知,这个<? extends Number>意味着我可以插入任何扩展它的类,任何子类(Float,Double,Integer等)。 这个<? super Number>意味着我可以插入Number及其祖先(None,Object类应该适合) 请告诉我什么我不理解泛型。

可能根本不推荐这样的代码?

0 个答案:

没有答案