2014-02-20 50 views
-1

我想从我的列表中删除重复项,然后尝试将其保存在一个字符串数组中。但是,我想消除,如果有一个空值,即“”但我的条件似乎不起作用,它仍然显示在输出中的空白。我怎样才能摆脱它?我忽略空白值后,预计8种元素的整体尺寸如何摆脱Java中的数组字符串的空值?

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++; 
      } 
     } 

回答

1

要初始化数组一样:

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

通过这样做,StopNamesForDB数组的大小总是会9,不论你添加元素与否。

而且,请注意,你检查你的代码空间:

if(string.equals(" ")){ 

请其更改为下面的代码或修剪:

if(string.equals("")){ 

感谢,希望这有助于。

1

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

+0

务必检查NPE在(string!= NULL){如果(string.trim ().isEmpty()){}} –

+0

你并不总是要防守。也许他之前没有任何'null'创建''StopNames'' ......这里并不重要。 –

+0

它只是一个建议和标准做法。它只会使代码安全。 –

1

在if条件,试试这个:

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

} 
else{ 
    //Your code 
} 
0

试试这个:

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

for (String string : set) { 

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

      } 
} 

然后从您的设置中删除所有匹配的对象。

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

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

如果你想过滤 “” 如果使用 (字符串!= NULL & & string.trim()。长度()> 0){ }

0

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

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

更新您的codition

if(string.equals(" ")){ 

      } 

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

      } 

,将工作:)