我有一个String数组,里面有一些字符串但是当我打印它们时它们都以空值开头。如何摆脱那些空值或更改代码以使它们不存在?
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]);
}
答案 0 :(得分:3)
当您执行&#34; + =&#34;时,您将附加到现有字符串,该字符串已初始化为&#34; null&#34;第一次创建String数组时。你可以使用&#34; =&#34;如下面的代码,以实现你正在做的事情:
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]);
}
}
答案 1 :(得分:0)
您看到null的原因是因为您正在查看未初始化的矩阵数组。值k永远不会被初始化,并且在通过while循环时永远不会被修改,所以你覆盖了matrix [k]的内容,无论它在启动时被初始化为什么。