【发布时间】:2015-09-25 13:32:29
【问题描述】:
我正在阅读有关 Java 泛型的信息。我想问一下下面的语句有什么区别。
1:List<String> list = new ArrayList(3);
2:List<String> list = new ArrayList<String>(2);
3:List<String> list = new ArrayList<String>();
4a: List<String> list = new ArrayList("A"); // 为什么我不能使用字符串?
4b: List<String> list = new ArrayList('a'); // 但 char 工作正常。
我正在阅读Java Docs on Generics,之后我需要问上述问题,因为我没有得到确切的答案。(可能是因为英语不好)
【问题讨论】:
-
char工作不正常,它被视为int。一个好的起点是阅读javadoc for ArrayList。 -
@SeanBright ArrayList 可以只取 int 作为参数吗?如果是,那么该参数的作用是什么?
-
我链接到的文档解释了这一点
-
@LetDoit Sean 的链接是官方的 Java 文档(称为 JavaDocs)——无论它在这里说什么都是该语言的工作原理。它详细介绍了方法重载、参数、类层次结构等...另一方面,您的链接是(官方)教程的一部分,该教程通常对初学者来说足够好,但没有像文档一样详细。
-
@LetDoit 如果您想学习一般的编程,JavaDocs 读起来有点枯燥。我认为,如果您现在坚持使用教程并在遇到类似这样的更具体问题时转到 JavaDoc,那是可以的。