有没有理由这样做:
List<Integer> integers = new ArrayList<Integer>();
与此相对:
List<Integer> integers = new ArrayList<>();
我已经看过几次第一次使用,似乎没有任何好处,这引出了一个问题:为什么要使用它?
我知道钻石算子(&lt;&gt;)是区分new LinkedList()
和new LinkedList<>()
所必需的,只是为了清楚。
答案 0 :(得分:0)
仅在JDK1.7中引入了我已经看过几次第一次使用,似乎没有提供 好处,这引出了一个问题:为什么要使用它?
<>
运算符,因此您可能已经看到使用new ArrayList<Integer>()
(没有<>
运算符)的遗留代码
此外,由于向后兼容性,不使用<Integer>
运算符的代码支持(如<>
)仍然存在。
因此,答案是如果您的项目使用JDK1.7或更高版本,则不会使用它。
答案 1 :(得分:0)
在Java 7之前,当引入菱形语法提供的类型推断时,需要第一次使用冗余类型的用法。