2014-02-20 76 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){ 

      } 

,將工作:)