我有一个整数列表 List<Integer>
我想将所有整数对象转换为字符串,从而以一个新的 List<String>
。
自然地,我可以创建一个新的 List<String>
并循环调用列表 String.valueOf()
为每个整数,但我想知道是否有更好的(阅读: 更自动 的)方法?
原文由 ChrisThomas123 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个整数列表 List<Integer>
我想将所有整数对象转换为字符串,从而以一个新的 List<String>
。
自然地,我可以创建一个新的 List<String>
并循环调用列表 String.valueOf()
为每个整数,但我想知道是否有更好的(阅读: 更自动 的)方法?
原文由 ChrisThomas123 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 来自 Guava-Project 的 Google Collections ,您可以使用 Lists 类中的 transform
方法
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());
List
返回的 transform
是支持列表上的一个 _视图_——转换将应用于对转换列表的每次访问。
请注意 Functions.toStringFunction()
将抛出 NullPointerException
应用于 null 时,因此只有在确定列表不包含 null 时才使用它。
原文由 Ben Lings 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
据我所知,迭代和实例化是唯一的方法。类似的东西(对于其他人可能的帮助,因为我确定你知道如何做到这一点):