在Java中声明并初始化数组

Cur*_*ma_ -1 java arrays null initialization declaration

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

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

public static someClass myArray[] = new someClass[10]; // all values are null,
Run Code Online (Sandbox Code Playgroud)

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

public static someClass[] myArray = {new someClass(),null,null};
Run Code Online (Sandbox Code Playgroud)

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

bar*_*uin 13

public static String st[] = new String[]{"foo", "bar"};
Run Code Online (Sandbox Code Playgroud)


duf*_*ymo 9

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

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

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

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

  • 你可以做`static str [] strs = {new str(),new str()...}``:)但+1不做傻假设. (3认同)