消除字符串数组中的空值
eliminate null values in String array
我有一个字符串数组,里面有一些字符串,但是当我打印它们时,它们都以空值开头。我怎样才能摆脱那些空值或更改代码以使它们不存在?
谢谢!
继承人我写到目前为止。我正在读取文件并将内容保存在数组中的位置 0,1,2,3
String [] matrix= new String[3];
while ((line=br.readLine() ) != null){
// level += line+"\n";
matrix[k] += line+"\n";
}
然后我像这样打印数组
for (int i=0; i<3;i++){
System.out.println(matrix[i]);
}
您看到 null 的原因是因为您正在遍历未初始化的矩阵数组。值 k 永远不会被初始化,并且在 while 循环中永远不会被修改,所以你覆盖了 matrix[k] 的内容,无论它在启动时被初始化为什么。
当您执行“+=”时,您将追加到现有字符串,该字符串在您首次创建字符串数组时被初始化为 "null"。您可能会像下面的代码一样使用“=”来实现您正在做的事情:
public static void main(String[] args){
String [] matrix= new String[3];
int i = 0;
while(i <= 2){
matrix[i] = "This is new String" +"\n";
i++;
}
for (int j=0; j<3;j++){
System.out.println(matrix[j]);
}
}
我有一个字符串数组,里面有一些字符串,但是当我打印它们时,它们都以空值开头。我怎样才能摆脱那些空值或更改代码以使它们不存在?
谢谢!
继承人我写到目前为止。我正在读取文件并将内容保存在数组中的位置 0,1,2,3
String [] matrix= new String[3];
while ((line=br.readLine() ) != null){
// level += line+"\n";
matrix[k] += line+"\n";
}
然后我像这样打印数组
for (int i=0; i<3;i++){
System.out.println(matrix[i]);
}
您看到 null 的原因是因为您正在遍历未初始化的矩阵数组。值 k 永远不会被初始化,并且在 while 循环中永远不会被修改,所以你覆盖了 matrix[k] 的内容,无论它在启动时被初始化为什么。
当您执行“+=”时,您将追加到现有字符串,该字符串在您首次创建字符串数组时被初始化为 "null"。您可能会像下面的代码一样使用“=”来实现您正在做的事情:
public static void main(String[] args){
String [] matrix= new String[3];
int i = 0;
while(i <= 2){
matrix[i] = "This is new String" +"\n";
i++;
}
for (int j=0; j<3;j++){
System.out.println(matrix[j]);
}
}