4
<の違いは何ですか?Baseを拡張し、TがBaseを拡張しますか?
この例では: import java.util.*; public class Example { static void doesntCompile(Map<Integer, List<? extends Number>> map) {} static <T extends Number> void compiles(Map<Integer, List<T>> map) {} static void function(List<? extends Number> outer) { doesntCompile(new HashMap<Integer, List<Integer>>()); compiles(new HashMap<Integer, List<Integer>>()); } } doesntCompile() でコンパイルできません: Example.java:9: error: incompatible types: HashMap<Integer,List<Integer>> cannot be converted to …