2012-10-04 34 views

回答

1
ArrayList<String> str = new ArrayList<String>(); 
str.add("AAA"); 
str.add("BBB"); 
str.add("CCC"); 
StringBuilder str2 = new StringBuilder(); 
for (String s : str) { 
    str2.append(s + ":"); 
} 
// if you want to remove the last ':' 
str2.deleteCharAt(str2.length() - 1); 
+0

感謝您的支持! :d –

6

你可以使用Google's Guava Joiner這恰好是GWT兼容:

String joinedList = Joiner.on(":").join(listOfThings); 
+1

番石榴?對於需要4行Java代碼的問題? –

+0

@AndreiVolgin如果你說每一個你需要4行代碼的問題,那麼你最終會得到一個大的程序,它沒有任何相關性,也沒有可讀性的問題。所以我認爲值得爲此添加番石榴,因爲番石榴中的許多東西都可以讓你以更具可讀性和簡潔的方式解決它們。 – froginvasion

+0

@froginvasion - 或者你最終可能會有幾十個依賴和很長的啓動時間。我並不反對番石榴 - 我一直都在使用它,但是我不會用一個新庫來替換幾行非常簡單的Java代碼。 –

0

番石榴是一個非常,非常酷的庫,但如果你只需要這個豆蔻部分,你可以用foreach在你的列表進行迭代。下面是一個例子

package XXX.client.XXXXXX; 

import java.util.Arrays; 
import java.util.List; 

import com.google.gwt.user.client.ui.Label; 
import com.google.gwt.user.client.ui.RootPanel; 

public class JointString { 
    public JointString() { 
     List<String> list = Arrays.asList("abc", "def", "ghi"); 

     StringBuilder all = new StringBuilder(); 
     for (String string : list) { 
      all.append(string); 
      all.append(":"); 
      } 

     RootPanel.get().add(new Label(all.toString())); 

//if you don't want the ':' in the end... 
StringBuilder all2 = new StringBuilder(); 
     for (int i = 0; i < list.size() - 1; i++) { 
      all2.append(list.get(i)); 
      all.append(":"); 
     } 
     all2.append(list.get(list.size() - 1)); 

    RootPanel.get().add(new Label(all2.toString())); 

    } 
} 
+0

here .................... – Stefan

相關問題