web-dev-qa-db-fra.com

Pourquoi l'argument de type explicite devrait être remplacé par diamant?

J'utilise Android Studio et j'écris ceci:

List<Button> buttons = new ArrayList<Button>();

J'ai ce message:

Argument de type explicite Le bouton doit être remplacé par <>

Je suis curieux, pourquoi serait-il préférable d'utiliser du diamant à la place?

List<Button> buttons = new ArrayList<>();

ÉDITER :
Je ne suis pas du tout d'accord avec le double! J'ai déjà vu cette réponse et elle compare l'argument explicite à aucun argument, alors que je compare l'argument explicite à l'argument implicite!

31
Dan Chaltiel

C'est moins verbeux, considérez ce qui suit

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

contre

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

Je pense que vous iriez pour la deuxième option

38
Sleiman Jneidi