2013-05-31 4 views
-2

У меня есть следующий код:Попытка преобразовать 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? Благодаря

+0

Это не «несколько мест»; они являются вкладками, что именно то, что '' \ t "' сообщает код. Почему бы не использовать 'List # toString()'? –

+4

«\ t» - это вкладка. если вы хотите просто простое пространство, скажем так: listString + = s + ""; –

+0

Если вы хотите создать единое пространство между элементами, используйте '' '' вместо '' \ t "'. Если вы имеете в виду пробелы в конце, 'trim()'. – thegrinner

ответ

1

Иногда это платит, чтобы не пытаться быть слишком умным и использовать неэффективный облицовку() :)

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

Если вы не означало иметь вкладку в там, в этом случае

listString += s + "\t" 

в порядке, но отделка() по-прежнему требуется.

+0

+1 - ты поймал это первым. –

0

получить "7 10 12" код должен быть как

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

У вас есть несколько вариантов:

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

System.out.println(listString); 

Или

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

Прежде всего, заменить «\ t "на" ", затем выберите между:

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

и:

код, а затем listString.trim()

0

Еще один хороший способ заключается в использовании класса Столяр гуавы в.

String listString = Joiner.on(" ").join(idattributes); 
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); 

Также вы можете использовать Joiner в Lib Гуава.

String listString = Joiner.on(" ").join(idattributes).trim(); 
Смежные вопросы