有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

两者之间的区别是什么:

第一:

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

秒:

ArrayList linkList = new ArrayList<String>();

还是有什么区别


共 (3) 个答案

  1. # 1 楼答案

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

    使用泛型来确保类型安全

    ArrayList linkList = new ArrayList<String>();
    

    正如@BruceMartin指出的,这意味着

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

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

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

    String element = linkList.get(0);  
    

    秒:

    String element = (String) linkList.get(0);
    
  2. # 2 楼答案

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

    在运行时:它们是相同的

  3. # 3 楼答案

    在第一种情况下,链接列表也是String类型,在第二种情况下是对象类型