我怎么转换List<Integer> to String?例如,如果我List<Integer>包含数字1 2和3,如何将其转换为String ="1,2,3"?我们将不胜感激.
JB *_*zet 36
与番石榴:
String s = Joiner.on(',').join(integerList);
Run Code Online (Sandbox Code Playgroud)
Yog*_*ngh 36
我想你可以简单地使用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]
Run Code Online (Sandbox Code Playgroud)
如果你不想[]在字符串中,只需使用子字符串,例如:
listString = listString.substring(1, listString.length()-1);
System.out.println(listString); //<- this prints 1, 2, 3
Run Code Online (Sandbox Code Playgroud)
请注意:List.toString()uses AbstractCollection#toString方法,将列表转换为String,如上所示
Hem*_*els 34
在vanilla 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"
Run Code Online (Sandbox Code Playgroud)
一种方法是:
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();
Run Code Online (Sandbox Code Playgroud)
只是从流行的库(Apache Commons)添加另一个(许多)选项:
import org.apache.commons.lang3.StringUtils;
String joinedList = StringUtils.join(someList, ",");
Run Code Online (Sandbox Code Playgroud)
来自其他人评论的一个优雅的选择(从 Java 8 开始):
String joinedList = someList.stream().map(String::valueOf).collect(Collectors.joining(","));
Run Code Online (Sandbox Code Playgroud)