2012-10-04 37 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

相关问题