如何转换List<Integer> to String
?例如。如果我的List<Integer>
包含数字1 2和3,如何将其转换为String =“1,2,3”?我们将不胜感激。
答案 0 :(得分:35)
使用Guava:
String s = Joiner.on(',').join(integerList);
答案 1 :(得分:34)
我认为你可以使用List.toString()
如下:
List<Integer> intList = new ArrayList<Integer>();
intList.add(1);
intList.add(2);
intList.add(3);
String listString = intList.toString();
System.out.println(listString); //<- this prints [1, 2, 3]
如果您不想在字符串中使用[]
,只需使用子字符串,例如:。
listString = listString.substring(1, listString.length()-1);
System.out.println(listString); //<- this prints 1, 2, 3
请注意:List.toString()
使用AbstractCollection#toString
方法,将列表转换为字符串,如上所述
答案 2 :(得分:7)
一种方法是:
Iterate
超过列表,将每个项目添加到StringBuffer
(或)StringBuilder
并在结尾处执行toString()
。
示例:
StringBuilder strbul = new StringBuilder();
Iterator<Integer> iter = list.iterator();
while(iter.hasNext())
{
strbul.append(iter.next());
if(iter.hasNext()){
strbul.append(",");
}
}
strbul.toString();
答案 3 :(得分:2)
在香草Java 8(流)中,您可以执行
// Given numberList is a List<Integer> of 1,2,3...
String numberString = numberList.stream().map(String::valueOf)
.collect(Collectors.joining(","));
// numberString here is "1,2,3"
答案 4 :(得分:1)
只需从流行的库(Apache Commons)中添加另一个(众多)选项:
import org.apache.commons.lang3.StringUtils;
String joinedList = StringUtils.join(someList, ",");
从其他人的评论(从Java 8开始)的一种优雅选择:
String joinedList = someList.stream().map(String::valueOf).collect(Collectors.joining(","));