是否存在将仅包含字符的ArrayList转换为字符串的简单方法?所以说我们有将ArrayList <Characters>转换为字符串
ArrayList<Character> arrayListChar = new ArrayList<Character>();
arrayListChar.add(a);
arrayListChar.add(b);
arrayListChar.add(c);
所以数组列表包含a,b和c。理想情况下,我想要做的是把它变成一个字符串“abc”。
是否存在将仅包含字符的ArrayList转换为字符串的简单方法?所以说我们有将ArrayList <Characters>转换为字符串
ArrayList<Character> arrayListChar = new ArrayList<Character>();
arrayListChar.add(a);
arrayListChar.add(b);
arrayListChar.add(c);
所以数组列表包含a,b和c。理想情况下,我想要做的是把它变成一个字符串“abc”。
您可以覆盖它的toString
方法并在其中执行String
格式。
Iterator<Character> it = arrayListChar.iterator();
StringBuilder sb = new StringBuilder();
while(it.hasNext()) {
sb.append(it.next());
}
System.out.println(sb.toString());
您可以使用Apache Common Lang's StringUtils类。它有一个像你在PHP中发现的join()
函数。
然后代码:
StringUtils.join(arrayListChar, "")
会产生:
abc
的ArrayList覆盖toString方法或更好的扩展ArrayList类,让你可以使用旧的ArrayList的toString()其他地方在代码
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);
使用正则表达式魔术:
String result = list.toString().replaceAll(", |\\[|\\]", "");
获取列表中的字符串表示,这是
[a, b, c]
然后取出字符串"[", "]", and ", "
。
可能的重复问题:http://stackoverflow.com/q/6324826/601409 – EkcenierK
甚至更好的答案在这里提供:http://stackoverflow.com/questions/523871/best-way-to-concatenate-list字符串对象这是关于连接字符串列表,但关闭。 – jFrenetic