将字符串“:”附加到字符串数组列表中的每个元素,并作为一个单独的字符串连接

时间:2012-10-04 07:34:40

标签: gwt

我需要将一个字符串“:”附加到字符串数组列表中的每个元素,并作为一个单独的字符串连接。

例如:我有包含元素的数组列表

(abc,def,ghi)

我需要将结果显示为“abc:def:ghi”作为一个字符串。

3 个答案:

答案 0 :(得分:6)

您可以使用恰好与GWT兼容的Google's Guava Joiner

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

答案 1 :(得分: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);

答案 2 :(得分:0)

Guava是一个真正非常酷的库,但是如果你只需要这个小部分,你就可以在你的列表中使用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()));

    }
}