用一些预定义值初始化ArrayList

我有一个示例程序如图所示。

我希望我的ArrayList symbolsPresent用一些预定义的符号进行初始化:ONE,TWO,THREE和FOUR。

symbolsPresent.add("ONE");
symbolsPresent.add("TWO");
symbolsPresent.add("THREE");
symbolsPresent.add("FOUR");

import java.util.ArrayList;

public class Test {

    private ArrayList<String> symbolsPresent = new ArrayList<String>();

    public ArrayList<String> getSymbolsPresent() {
        return symbolsPresent;
    }

    public void setSymbolsPresent(ArrayList<String> symbolsPresent) {
        this.symbolsPresent = symbolsPresent;
    }

    public static void main(String args[]) {    
        Test t = new Test();
        System.out.println("Symbols Present is" + t.symbolsPresent);

    }    
}

那可能吗?


尝试这个

new String[] {"One","Two","Three","Four"};

要么

List<String> places = Arrays.asList("One", "Two", "Three");

阵列


双大括号初始化是一个选项:

List<String> symbolsPresent = new ArrayList<String>() {{
   add("ONE");
   add("TWO");
   add("THREE");
   add("FOUR");
}};

请注意, String泛型类型参数在分配的表达式中是必需的,如JLS§15.9所示

如果类实例创建表达式使用类的类型参数的“<>”形式声明匿名类,那么这是一个编译时错误。


如何使用重载的ArrayList构造函数

 private ArrayList<String> symbolsPresent = new ArrayList<String>(Arrays.asList(new String[] {"One","Two","Three","Four"}));
链接地址: http://www.djcxy.com/p/82401.html

上一篇: Initializing ArrayList with some predefined values

下一篇: adding multiple entries to a HashMap at once in one statement