将ArrayList <characters>转换为String </characters>

时间:2011-12-08 14:16:15

标签: java string arraylist

是否有一种简单的方法将只包含字符的ArrayList转换为字符串?所以说我们有

ArrayList<Character> arrayListChar = new ArrayList<Character>();
arrayListChar.add(a);
arrayListChar.add(b);
arrayListChar.add(c);

因此数组列表包含a,b和c。理想情况下,我想要做的是将其转换为字符串“abc”。

7 个答案:

答案 0 :(得分:3)

Iterator<Character> it = arrayListChar.iterator();
StringBuilder sb = new StringBuilder();

while(it.hasNext()) {
    sb.append(it.next());
}

System.out.println(sb.toString());

答案 1 :(得分:3)

您可以使用Apache Common Lang's StringUtils类。它有一个join()函数,就像你在PHP中找到的那样。

然后是代码:

StringUtils.join(arrayListChar, "")

将生成:

abc

答案 2 :(得分:1)

    int size = list.size();
    char[] chars = new char[size];
    for (int i = 0; i < size; i++) {
        if (list.size() != size) {
            throw new ConcurrentModificationException();
        }
        chars[i] = list.get(i);
    }
    String s = new String(chars);

答案 3 :(得分:0)

您可以覆盖它的toString方法并在其中实施String格式。

答案 4 :(得分:0)

覆盖ArrayList的toString方法或更好地扩展ArrayList类,以便您可以在代码中的其他地方使用旧的ArrayList toString()

答案 5 :(得分:0)

    String s = "";
    for(Character i : arrayListChar)
           s += i;

编辑 - 正如已经指出的那样,如果连接的字符串数量很少,你应该只使用这样的代码。

答案 6 :(得分:0)

使用正则表达式魔法:

String result = list.toString().replaceAll(", |\\[|\\]", "");

获取列表的字符串表示形式,即

[a, b, c]

然后删除字符串"[", "]", and ", "