在Java中声明并初始化数组

时间:2013-01-05 17:05:02

标签: java arrays null initialization declaration

  

可能重复:
  Can I declare and initialize an array with the same instruction in Java?

如何在Java中声明一个数组,同时初始化它的一些已知元素? 首先,此方法声明但不初始化元素:

public static someClass myArray[] = new someClass[10]; // all values are null,

现在想象我知道第​​一个元素的值但不知道其他元素,它是在一些逻辑之后我为它们赋值 第二个建议是:

public static someClass[] myArray = {new someClass(),null,null};

所以这条指令有效,但用200个元素的数组做同样的事情是不切实际的

5 个答案:

答案 0 :(得分:13)

public static String st[] = new String[]{"foo", "bar"};

答案 1 :(得分:9)

在静态块中初始化它,当然:

static {
   str st[] = new str[10];
   for (int i = 0; i < st.length; ++i) {
     st[i] = new str();
   }
}

其他人都认为您的str表示java.lang.String。我不是。

我会指出你的命名和编码约定相当差。我建议遵循Java编码标准,并更加努力地思考好事。

答案 2 :(得分:3)

尝试以下方法:

public static String st[] = {"a","b","c"};

答案 3 :(得分:2)

你的意思是

public static String st[] = new String[] { "a", "b", "c" };

答案 4 :(得分:1)

 public static String st[] = {"firstValue",null,null,null}

public static String st[] = {"firstValue","second","third","fourth"}