Java ArrayList的初始化类型之间的差异
两者的区别是什么: 第一:Java ArrayList的初始化类型之间的差异,java,arraylist,Java,Arraylist,两者的区别是什么: 第一: ArrayList linkList=new ArrayList(); 第二: ArrayList linkList=new ArrayList(); 还是有什么区别 ArrayList<String> linkList = new ArrayList<String>(); 在第一种情况下给出编译时错误,但在运行时使用第二种声明失败 另一个例子是,要从两个备选方案中获得get()aString,第二个变体需要强制转换: 第一: 第二: 编
ArrayList linkList=new ArrayList();
第二:
ArrayList linkList=new ArrayList();
还是有什么区别
ArrayList<String> linkList = new ArrayList<String>();
在第一种情况下给出编译时错误,但在运行时使用第二种声明失败
另一个例子是,要从两个备选方案中获得get()
aString
,第二个变体需要强制转换:第一: 第二:
编译时:第一个使用泛型,确保类型安全性和代码可读性
在运行时:它们是相同的。在第一种情况下,链接列表的类型为String,在第二种情况下,链接列表的类型为Object。第一种情况非常好,第二种情况下会给出警告?如果使用ArrayList,也会键入linkList。put(0)将生成编译时错误;如果使用ArrayList linkList linkList.put(0),则会生成运行时错误。在第一种情况下,
linkList
类型为String,在第二种情况下,类型为Object
ArrayList linkList = new ArrayList<String>();
ArrayList<String> linkList = new ArrayList<String>();
ArrayList linkList = new ArrayList<String>();
linkList.add(0);
String element = (String) linkList.get(0);
String element = linkList.get(0);
String element = (String) linkList.get(0);