消除String数组中的空值

时间:2015-02-02 22:50:43

标签: java arrays string null



我有一个String数组,里面有一些字符串但是当我打印它们时它们都以空值开头。如何摆脱那些空值或更改代码以使它们不存在?

谢谢你!

这是我到目前为止所写的内容。我正在读取文件并将数据保存在位置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]);

        }

2 个答案:

答案 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]的内容,无论它在启动时被初始化为什么。