Search code examples
javaandroidandroid-studiodiamond-operator

Why explicit type argument should be replaced by diamond?


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 !


Solution

  • 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