繁体   English   中英

ArrayList的初始化类型之间的差异

[英]difference between the types of initialization of 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);

在编译时:第一个使用泛型,确保类型安全性和代码可读性。

在运行时:它们是相同的。

同样在第一种情况下, linkList的类型为String,而在第二种情况下,类型为Object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM