Java Language Type Inference pour la création d'instance générique


Exemple

Vous pouvez utiliser

Map<String, List<String>> myMap = new HashMap<>();

au lieu de

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

Cependant, vous ne pouvez pas utiliser

List<String> list = new ArrayList<>();
list.add("A");

  // The following statement should fail since addAll expects
  // Collection<? extends String>

list.addAll(new ArrayList<>());

parce qu'il ne peut pas compiler. Notez que le diamant fonctionne souvent dans les appels de méthode; Cependant, il est conseillé d'utiliser le diamant principalement pour les déclarations de variables.