[英]Difference between ArrayList<>() and 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.