两者有什么区别 :
第一的 :
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类型。