尝试将ArrayList转换为String

时间:2013-05-31 18:04:50

标签: java string arraylist

我有以下代码:

ArrayList<String> idattributes=new ArrayList();
idattributes.add("7");
idattributes.add("10");
idattributes.add("12");

我正在尝试将其转换为这样的字符串:

String listString = "";
for (String s : idattributes) {
      listString += s + "\t";
} 
System.out.println(listString);

I get: "7   10  12  "

如何删除这些多个空格?我只想要一个字符串“7 10 12” 还有将idattributes转换为String的其他好方法吗? 感谢

6 个答案:

答案 0 :(得分:1)

有时候不要试图过于聪明并使用效率低下的trim():)

String listString = "";
for (String s : idattributes) {
    listString += s + " ";
} 
listString = listString.trim();

除非您打算在那里使用标签,否则

listString += s + "\t"

很好,但仍需要trim()。

答案 1 :(得分:0)

获取"7 10 12"代码必须像

String listString = "";
for (String s : idattributes) {
  listString += s + " ";
} 
System.out.println(listString.trim());

答案 2 :(得分:0)

您有几个选择:

String listString = "";
for (String s : idattributes) {
      listString += s + " ";
} 
listString = listString.trim();

System.out.println(listString);

或者,

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

答案 3 :(得分:0)

首先,将“\ t”替换为“”,然后选择:

for (int i = 0 ; i < idattributes.size() ; i++)
{
    listString += itattributes.get(i);
    if (i != idattributes.size() - 1)
        listString += " ";
}

和:

您的代码,然后是listString.trim()

答案 4 :(得分:0)

另一个好方法是使用Guava的Joiner类。

 String listString = Joiner.on(" ").join( idattributes );

答案 5 :(得分:0)

使用StringBuilder而不是String是个好主意。您可以找到更多信息here

StringBuilder sb = new StringBuilder();
for (String s : idattributes) {
      sb.append(s).append(" ");
} 
String listString = sb.toString().trim()l
System.out.println(listString);

您也可以使用Guava lib的Joiner

String listString = Joiner.on(" ").join( idattributes ).trim();