-2

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

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

(abc, def, ghi)

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

4

3 回答 3

7

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

String joinedList = Joiner.on(":").join(listOfThings);
于 2012-10-04T07:44:32.530 回答
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);
于 2012-10-05T09:48:20.790 回答
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()));

    }
}
于 2012-10-04T07:54:23.767 回答