【发布时间】:2015-02-25 08:06:19
【问题描述】:
我刚学过泛型编程,List<E>接口,ArrayList,所以能看懂下面的说法。
ArrayList<String> list = new ArrayList<String>();
但我不明白我在网上冲浪时看到的下一条语句。
List<String> list2 = Collections.<String>emptyList();
- 什么是
Collections?为什么不是Collections<E>或Collections<String>? - 为什么
<String>放在方法名emptyList之前?
(emptyList<String>() 不适合 Generic 吗?)
- 这句话是什么意思?
【问题讨论】:
-
Collections是一个 Java 类。 -
这是一个完全有效的问题。不确定它是否受到如此严厉的对待。对于不了解静态方法泛型的人来说,这可能是一个令人困惑的说法。投票重新开放。
-
也投票重新开放。问题的 title 可能过于宽泛,但正文中的实际问题非常具体。也许编辑标题比关闭更好。
-
在我看来,回答这个问题需要解释的概念数量如此之多,以至于一个答案几乎可以构成一个介绍 Java 教程。但是here's my explanation of generic methods。至于问题 2,请阅读静态导入。
-
@ChrisMartin 查看给出的答案。他们似乎做得很好。 OP 理解泛型,但 method 泛型是一个(可以理解的)新概念,在野外并不常见。
标签: java generics collections