试图将"Hello"添加到具有数字下限的列表中.
这不起作用(如预期):
List<? super Number> numList = new ArrayList<>();
numList.add(1);
numList.add(3.0);
numList.add("hello"); // <--- fails here with ('add(capture<? super java.lang.Number>)' in 'java.util.List' cannot be applied to '(java.lang.Object)')
这很管用(为什么管用?):
List<? super Number> numList = Arrays.asList(1, 2, 3.0, "hello");
注意:numList的下限是数字,而"Hello"是一个字符串.