1:
private List<String> blacklist = new ArrayList<String>();
2:
private List<String> blacklist = new ArrayList<>();
在编译时使用第一个或第二个是否有任何优势或以纳秒为单位的性能?
答案 0 :(得分:2)
这两个陈述在语义上都是相同的。
第二个例子是使用Java 7中的Diamond运算符,因此在编译时会慢一点。在运行时,它们将具有与完全删除的泛型信息完全相同的性能。
答案 1 :(得分:0)
没有区别。在第二种情况下,编译器推断出ArrayList
的泛型类型。