转换 List<Integer> 到 List<String>
2022-08-31 09:12:19
我有一个整数列表,我想将所有整数对象转换为字符串,从而完成一个新的.List<Integer>
List<String>
当然,我可以创建一个新的并循环访问每个整数的列表,但我想知道是否有更好(阅读:更自动)的方法?List<String>
String.valueOf()
我有一个整数列表,我想将所有整数对象转换为字符串,从而完成一个新的.List<Integer>
List<String>
当然,我可以创建一个新的并循环访问每个整数的列表,但我想知道是否有更好(阅读:更自动)的方法?List<String>
String.valueOf()
使用来自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());
返回的 by 是后备列表上的视图 - 转换将应用于对转换后列表的每个访问。List
transform
请注意,当应用于 null 时会抛出 a,因此只有在您确定列表不包含 null 时才使用它。Functions.toStringFunction()
NullPointerException
Java 解决方案 8.比番石榴长一点,但至少你不必安装库。
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());
对于 Java 11,
List<String> strings = integers.stream().map(Object::toString)
.collect(Collectors.toUnmodifiableList());
还是没有方便的方法,真的吗?map