Java:如何从字符串中删除空值?

时间:2015-03-16 14:28:01

标签: java string null

运行此代码时,它会输出nullhi。为什么要这样做?

public static void main(String[] args) {
    String[] a = new String[1];
    String m = null;
    String c = "hi";
    for (int i = 0 ; i < c.length() ; i++){
        a[0] = a[0] + c.charAt(i);  
    }
    System.out.print(a[0]);
}

4 个答案:

答案 0 :(得分:4)

在循环之前,写下:

a[0] = "";

public static void main(String[] args) {
String[] a= new String[1];
String m = null;
String c = "hi";

a[0] = "";

for (int i=0 ; i<c.length() ; i++){
    a[0]=a[0]+c.charAt(i);  
}

System.out.print(a[0]);

}

答案 1 :(得分:0)

这样做

    for (int i=0 ; i<c.length() ; i++){
      a[i] = "";
      a[i]= c.charAt(i);  

    }

你正在做的是

for (int i=0 ; i<c.length() ; i++){
    a[0]=a[0]+c.charAt(i);  // a[0] is null, 
}

答案 2 :(得分:-1)

测试string是否为空

a[0] = ((a[0] == null) ? "" : a[0] ) + c.charAt(i);

答案 3 :(得分:-1)

您需要替换&#34; null&#34;,因此您的代码的最后一行应为

System.out.println(a[0].replace("null", "");