-1

可能重复:
我可以在 Java 中使用相同的指令声明和初始化数组吗?

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

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

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

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

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

4

5 回答 5

13
public static String st[] = new String[]{"foo", "bar"};
于 2013-01-05T17:07:02.137 回答
9

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

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

其他人都假设你的str手段java.lang.String。我不是。

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

于 2013-01-05T17:07:10.727 回答
3

尝试以下操作:

public static String st[] = {"a","b","c"};
于 2013-01-05T17:06:58.807 回答
2

你的意思是

public static String st[] = new String[] { "a", "b", "c" };
于 2013-01-05T17:07:04.287 回答
1
 public static String st[] = {"firstValue",null,null,null}

或者

public static String st[] = {"firstValue","second","third","fourth"}
于 2013-01-05T17:09:43.273 回答