如何从java中的数组字符串中删除空值?

时间:2014-02-20 07:55:57

标签: java string

我正在尝试从列表中删除重复项,然后尝试将其保存在字符串数组中。但是我想消除如果有一个空值,即“”但我的if条件似乎不起作用,它仍然在输出中显示一个空白。我怎么能摆脱它?在忽略空白值

之后,我期望总体大小为8个元素
Output:Printing Set                              Peardonville and South Fraser

Printing Set                                     Clearbrook and South Fraser

Printing Set                                     George Ferguson and Gladwin

Printing Set                                     Ar. Bourquin Exchange

Printing Set                                     Lv. Bourquin Exchange

Printing Set                                     Downtown Abbotsford

Printing Set                                     Marshall and McCallum

Printing Set                                     University of the Fraser Valley

**Printing Set**  

StopNamesForDB的大小= 9

    Set<String> set = new LinkedHashSet<String>(StopNames); 
    System.out.println("Size of Set Object" + set.size()); 
    StopNamesForDB = new String[set.size()];

        for (String string : set) {

            if(string.equals(" ")){

            } 
            else{ 
            System.out.println("Printing Set " + string); 
            StopNamesForDB[i] = string; 
            i++; 
             } 
         } 

7 个答案:

答案 0 :(得分:1)

使用trim方法:if(string.trim().isEmpty())

答案 1 :(得分:1)

如果有条件,请尝试:

if ( string.trim().equals("") ){

}
else{
     //Your code
}

答案 2 :(得分:1)

您正在初始化数组,如:

String [] StopNamesForDB = new String[set.size()];

通过这样做,StopNamesForDB数组的大小将始终为9,无论您是否添加元素。

此外,请注意您正在检查代码中的空格:

if(string.equals(" ")){

请将其更改为以下代码或修剪它:

if(string.equals("")){

谢谢,希望这有帮助。

答案 3 :(得分:0)

试试这个:

 List<String> toRemove = new ArrayList<String>();

for (String string : set) {

            if(string.isEmpty()){
                  toRemove.add(string);

            } 
}

然后从您的集合中删除所有匹配的对象。

for(String string: toRemove)
       set.remove(string);

答案 4 :(得分:0)

您正在谈论列表或集。 Set不允许重复值,所以不要担心重复...

如果你想过滤“”使用 if(string!= null&amp;&amp; string.trim()。length()&gt; 0){ }

答案 5 :(得分:0)

请尝试以下操作,因为您只想丢弃空的。

   for (String string : set) {
        if (string != null && string.trim().length() > 0) {
            System.out.println("Printing Set " + string);
            StopNamesForDB[i] = string;
            i++;
        }
    }

答案 6 :(得分:0)

更新你的资料

if(string.equals(" ")){

            } 

if(string.trim().length == 0){

            } 

它会起作用:)