Java中的Diamond Generic和Legacy

时间:2013-11-06 15:41:31

标签: java generics

在收藏中,我发现了以下内容:

@SuppressWarnings("unchecked")
public static final List EMPTY_LIST = new EmptyList<>();

我真的找不到任何理由:

new EmptyList<>()

此处代替:

new EmptyList()

就像java&lt; 1.7。

这种方法有什么区别吗?

1 个答案:

答案 0 :(得分:2)

如果您只关心&lt;&gt;然后你应该看到What is the point of the diamond operator in Java 7?

关于EMPTY_LIST: 要么你这样做:

@SuppressWarnings("rawtypes")
List list = Collections.EMPTY_LIST;

或类似的东西:

List<String> s = Collections.emptyList();

使用&lt;&gt;的原因operator维护编译时检查原始类型。以上链接描述得很好。