为什么显式types的论据应该被钻石取代?

我正在使用Android Studio,我写这个:

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

我有这个消息:

显式types参数button应该被<>所替代

我很好奇,为什么使用钻石更好呢?

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

编辑:
我根本不同意这个副本! 我之前看到过这个答案,它比较显式的参数根本没有参数,而我比较显式的参数隐式的参数!

它不那么冗长,请考虑以下内容

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

VS

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

我想你会去第二个select