通用实例创建的类型推断
你可以使用
Map<String, List<String>> myMap = new HashMap<>();
代替
Map<String, List<String>> myMap = new HashMap<String, List<String>>();
但是,你不能使用
List<String> list = new ArrayList<>();
list.add("A");
// The following statement should fail since addAll expects
// Collection<? extends String>
list.addAll(new ArrayList<>());
因为它无法编译。请注意,钻石通常用于方法调用; 但是,建议你主要将钻石用于变量声明。