我已经阅读了Angelika langer's Generics FAQ,其中讨论了在类型参数没有通配符的情况下的类型推断.
List<String> list2 = new ArrayList<>();// type inference
我明白你的意思.但在以下两种情况下会发生什么呢?
ArrayList<? super Number> list1 = new ArrayList<>();
ArrayList<? extends Number> list2 = new ArrayList<>();
上面的编译器推断出了哪些类型?为什么?
我也读了这个SO question,但它只讨论参数为List<?>
的情况,而不是提供的例子.