我有以下代码:
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的其他好方法吗? 感谢
答案 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();