有 Java 编程相关的问题?

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

java初始化ArrayList

最正确和推荐的java表达式是什么:

new ArrayList<>();

new ArrayList<String>();

我的问题是关于任何包含任何类型的Object(比如Map


共 (3) 个答案

  1. # 1 楼答案

    自Java7以来,菱形操作符用于减少冗长
    如果使用版本>=7.建议使用第一种
    通过this

  2. # 2 楼答案

    来自Java>;=他们没有一个比其他人更好。编译器基本上会以相同的方式处理这两个问题

    在Java7之前,你必须明确你的泛型类型

    List<String> myStrings = new ArrayList<String>();
    

    但自Java 7以来,您可以:

    List<String> myStrings = new ArrayList<>();
    

    编译器将找出集合的rigth目标类型,并注入到集合中。这叫做Type Inference for Generic Instance Creation

    同样,没有一个比另一个更好或更值得推荐,这只是为了方便您的工作,这样您就可以编写更少的代码。如果你是一名试图理解该语言的新java程序员,你应该从之前的开始。如果你是一名经验丰富的程序员,你可以做后者

  3. # 3 楼答案

    第一种方法在Java 7中有效,不需要使用名为^{}的类型init

    You can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters (<>) as long as the compiler can infer the type arguments from the context. This pair of angle brackets is informally called the diamond.

    菱形运算符的目的是简化泛型类的实例化。所以,为了让事情保持简单,我们选择第一种方式