Java:将List <integer>转换为String </integer>

时间:2012-11-02 15:51:39

标签: java

如何转换List<Integer> to String?例如。如果我的List<Integer>包含数字1 2和3,如何将其转换为String =“1,2,3”?我们将不胜感激。

5 个答案:

答案 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, ",");

请参阅文档:https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#join-java.lang.Iterable-java.lang.String-


从其他人的评论(从Java 8开始)的一种优雅选择:

String joinedList = someList.stream().map(String::valueOf).collect(Collectors.joining(","));
相关问题