首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将List<Integer>转换为List<String>

将List<Integer>转换为List<String>
EN

Stack Overflow用户
提问于 2008-08-21 02:29:48
回答 21查看 213.1K关注 0票数 115

我有一个整数列表,List<Integer>,我想把所有的整数对象转换成List<String>,这样就完成了一个新的String。

当然,我可以创建一个新的List<String>并遍历列表,为每个整数调用String.valueOf(),但我想知道是否有更好的(阅读:更自动化)方法来做这件事?

EN

回答 21

Stack Overflow用户

回答已采纳

发布于 2008-08-20 18:34:07

据我所知,iterate和instantiate是唯一的方法。例如(对于其他潜在的帮助,因为我相信你知道如何做到这一点):

代码语言:javascript
复制
List<Integer> oldList = ...
/* Specify the size of the list up front to prevent resizing. */
List<String> newList = new ArrayList<>(oldList.size());
for (Integer myInt : oldList) { 
  newList.add(String.valueOf(myInt)); 
}
票数 84
EN

Stack Overflow用户

发布于 2009-08-04 12:04:09

通过使用Google Collections from Guava-Project,您可以在Lists类中使用transform方法

代码语言:javascript
复制
import com.google.common.collect.Lists;
import com.google.common.base.Functions

List<Integer> integers = Arrays.asList(1, 2, 3, 4);

List<String> strings = Lists.transform(integers, Functions.toStringFunction());

transform返回的List是支持列表上的一个视图-转换将应用于对转换后的列表的每次访问。

请注意,当应用于null时,Functions.toStringFunction()将抛出NullPointerException,因此只有在您确定列表中不包含null时才使用它。

票数 106
EN

Stack Overflow用户

发布于 2014-04-12 07:52:19

Java 8的解决方案。比Guava要长一点,但至少你不需要安装库。

代码语言:javascript
复制
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

//...

List<Integer> integers = Arrays.asList(1, 2, 3, 4);
List<String> strings = integers.stream().map(Object::toString)
                                        .collect(Collectors.toList());
票数 96
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档