Java:转换列表<;整数>;串

Java:转换列表<;整数>;串,java,Java,如何将列表转换为字符串?例如,如果我的列表包含数字1、2和3,如何将其转换为String=“1,2,3”?我们将感谢您的帮助 一种方法是: 在列表上迭代,将每个项目添加到StringBuffer(或)StringBuilder,并在末尾执行toString() 例如: StringBuilder strbul = new StringBuilder(); Iterator<Integer> iter = list.iterator(); while(iter.h

如何将列表转换为字符串?例如,如果我的
列表
包含数字1、2和3,如何将其转换为String=“1,2,3”?我们将感谢您的帮助

一种方法是:

在列表上迭代
,将每个项目添加到
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();
StringBuilder strbul=new StringBuilder();
迭代器iter=list.Iterator();
while(iter.hasNext())
{
strbul.append(iter.next());
if(iter.hasNext()){
strbul.追加(“,”);
}
}
strbul.toString();
带有:


我想您可以简单地使用下面的
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]
请注意:
List.toString()
使用
AbstractCollection#toString
方法,将列表转换为上面的字符串

,只是为了从流行库(Apache Commons)添加另一个(多个)选项:

见文件:


来自他人评论的优雅选项(从Java 8开始):

在香草Java8(流)中,您可以

// 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"
//给定的numberList是一个由1,2,3。。。
字符串numberString=numberList.stream().map(字符串::valueOf)
.collect(收集器。连接(“,”);
//这里的数字串是“1,2,3”

StringBuilder,如果使用Java 5或greaterlist.stream().map(String::valueOf).collect(Collectors.joining(“,”),则从Java 8开始使用。为什么会出现反对票?这是一个很好的问题,@GermannArlington或orangegoat都没有回答。可能是因为“这个问题没有显示出任何研究成果”。尽管如此,这是一个有用的问题,从答案来看并不明显。我认为很明显,如果用户问这样的问题,他们对语言非常陌生,因此这是一个合理的问题。如果没有重复的问题(我没有检查),那么这是一个更有力的例子。我一直试图找到解决办法,但我找不到解决我问题的办法。我不明白我的问题出了什么问题…@Martin,Joe:当你问这样一个问题时,不要只要求解决你的问题。展示你试图解决问题的方法,并解释你遇到的问题。这就是所谓的“研究工作”。否则,它看起来就像:“嘿,我太懒了,不知道如何做这件简单的事情。有人能帮我做吗?”?你不觉得上面的选项比其他选项更优雅、更易读吗?我认为这个答案对这个问题是正确的。OP没有明确指定他/她不想使用第三方库。我将用+1进行补偿。AbstractCollection#toString返回的字符串的格式是特定于实现的,我认为是更好、更好、更新的方法来正确地执行++1!谢谢,这是解决问题的最佳方法
   listString = listString.substring(1, listString.length()-1); 
   System.out.println(listString); //<- this prints 1, 2, 3
import org.apache.commons.lang3.StringUtils;

String joinedList = StringUtils.join(someList, ",");
String joinedList = someList.stream().map(String::valueOf).collect(Collectors.joining(","));
// 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"