通用例項建立的型別推斷

你可以使用

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<>());

因為它無法編譯。請注意,鑽石通常用於方法呼叫; 但是,建議你主要將鑽石用於變數宣告。