Home » Android » java – Why explicit type argument should be replaced by diamond?

java – Why explicit type argument should be replaced by diamond?

Posted by: admin April 23, 2020 Leave a comment

Questions:

I’m using Android Studio and I write this :

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

I have this message :

Explicit type argument Button should be replaced by <>

I’m curious, why would it be better to use diamond instead ?

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

EDIT :
I don’t agree with the duplicate at all ! I saw that answer before and it compares explicit argument to no argument at all, whereas I compare explicit argument to implicit argument !

How to&Answers:

It is less verbose, consider the following

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

vs

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

I think you would go for the second option