小编典典

Java:如何初始化 String[]?

all

错误

% javac  StringTest.java 
StringTest.java:4: variable errorSoon might not have been initialized
        errorSoon[0] = "Error, why?";

代码

public class StringTest {
        public static void main(String[] args) {
                String[] errorSoon;
                errorSoon[0] = "Error, why?";
        }
}

阅读 116

收藏
2022-05-23

共1个答案

小编典典

您需要初始化
errorSoon,如错误消息所示,您只声明了它。

String[] errorSoon;                   // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement

您需要初始化数组,以便它可以在开始设置索引 之前String为元素分配正确的内存存储。 __

如果您 声明数组(如您所做的那样),则没有为String元素分配内存,而只有
的引用句柄errorSoon,并且当您尝试在任何索引处初始化变量时会引发错误。

作为旁注,您还可以初始化String大括号内的数组,{ }因此,

String[] errorSoon = {"Hello", "World"};

这相当于

String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";
2022-05-23