2014-08-31 83 views
0

這可能是一個足夠簡單的解決方案。我使用StringBuffer來從Set(WardenSet)的所有元素中創建一個String。但是我不想在最後一個元素的末尾加一個逗號。這裏是我的代碼不要附加到Set(StringBuffer)的最後一個元素

sb = new StringBuffer(); 
    for (String s : WardenSet) { 

     sb.append(s + ", "); 
    } 
    System.out.println(wardenInitials = sb.toString()); 

電流輸出:MD,BH,

通緝OUTPUT:MD,BH

回答

0

你將不得不使用一個明確的迭代器。

sb = new StringBuffer(); 
Iterator it = WardenSet.iterator(); 
while (it.hasNext()) { 
    String s = (String) it.next(); 
    sb.append(s); 
    if (it.hasNext()) { 
     sb.append(", "); 
    } 
} 
System.out.println(wardenInitials = sb.toString()); 

而且,它與StringBuilder來代替StringBuffer的,除非你將不得不使用它多線程是一個好主意。

如果您使用的是Java 8中,您可以使用StringJoiner:如果您使用Guava

System.out.println(new StringJoiner(", ").join(WardenSet).toString()); 

,您可以使用Joiner

System.out.println(Joiner.on(", ").join(WardenSet).toString());