Java:如何初始化 String[]?

2022-08-31 05:32:21

错误

% 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?";
        }
}

答案 1

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

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

您需要初始化数组,以便它可以为元素分配正确的内存存储,然后才能开始设置索引。String

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

作为旁注,您还可以初始化大括号内的数组,如下所示,String{ }

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

这相当于

String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";

答案 2
String[] args = new String[]{"firstarg", "secondarg", "thirdarg"};