java - ArrayList初始化类型的区别

标签 java arraylist

两者有什么区别:

首先:

ArrayList<String> linkList = new ArrayList<String>();

第二个:

ArrayList linkList = new ArrayList<String>();

或者有什么区别吗?

最佳答案

ArrayList<String> linkList = new ArrayList<String>();

使用泛型来确保类型安全。

ArrayList linkList = new ArrayList<String>();

没有。正如@BruceMartin 指出的那样,这意味着行

linkList.add(0);
String element = (String) linkList.get(0);  

在第一种情况下给出编译时错误,但在第二次声明时在运行时失败。

作为另一个例子,要从两个备选方案中get()一个String,第二个变体需要强制转换:
首先:

String element = linkList.get(0);  

第二个:

String element = (String) linkList.get(0);

关于java - ArrayList初始化类型的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11987819/

相关文章:

java - OS X 系统代理的 JVM 自动设置如何工作?

java - 如何按字母顺序对名称数组列表进行排序,但以数字开头的名称必须排在最后

java - 对列表进行排序取决于另一个排序列表,该列表具有一个共同的排序属性

java - 删除特定对象在 Java ArrayList 中不起作用

java - 是否可以将数组的 ArrayList 添加到文件中?

java - 如何在 Ubuntu 上安装 JavaFx?

java - 如何检测(在 Hibernate 中)数据库何时出现故障?

java - 如何从ArrayList中一一返回

java - 在 Java ME 中将 JSON 字符串转换为对象?

Java - 设置上下文属性(ServletContextListener)