Java 8 将整数字符串转换为列表<Integer>
Java 8 convert String of ints to List<Integer>
我有一个字符串:
String ints = "1, 2, 3";
我想将其转换为整数列表:
List<Integer> intList
我可以通过这种方式将其转换为字符串列表:
List<String> list = Stream.of("1, 2, 3").collect(Collectors.toList());
但不是整数列表。
有什么想法吗?
正则表达式拆分正是您要找的
Stream.of(ints.split(", "))
.map(Integer::parseInt)
.collect(Collectors.toList());
您需要拆分字符串并从每个部分创建一个 Stream。 splitAsStream(input)
方法正是这样做的:
Pattern pattern = Pattern.compile(", ");
List<Integer> list = pattern.splitAsStream(ints)
.map(Integer::valueOf)
.collect(Collectors.toList());
它 returns 输入字符串部分的 Stream<String>
,稍后您可以将其映射到 Integer
并收集到列表中。
请注意,您可能希望将模式存储在常量中,并在每次需要时重复使用。
首先,将字符串拆分成单独的数字,然后将这些(仍然是字符串)转换为实际的整数,最后将它们收集在一个列表中。您可以通过链接流操作来完成所有这些操作。
String ints = "1, 2, 3";
List<Integer> intList = Stream
.of(ints.split(", "))
.map(Integer::valueOf)
.collect(Collectors.toList());
System.out.println(intList); // [1, 2, 3]
你可以直接使用Array函数asList,然后按java8方式转换。
不要忘记删除空格。
List<Integer> erg = Arrays.asList(ints.replace(" ", "").split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
编辑:
对不起,我没有看到它是单个字符串,以为它是一个字符串数组。
我有一个字符串:
String ints = "1, 2, 3";
我想将其转换为整数列表:
List<Integer> intList
我可以通过这种方式将其转换为字符串列表:
List<String> list = Stream.of("1, 2, 3").collect(Collectors.toList());
但不是整数列表。
有什么想法吗?
正则表达式拆分正是您要找的
Stream.of(ints.split(", "))
.map(Integer::parseInt)
.collect(Collectors.toList());
您需要拆分字符串并从每个部分创建一个 Stream。 splitAsStream(input)
方法正是这样做的:
Pattern pattern = Pattern.compile(", ");
List<Integer> list = pattern.splitAsStream(ints)
.map(Integer::valueOf)
.collect(Collectors.toList());
它 returns 输入字符串部分的 Stream<String>
,稍后您可以将其映射到 Integer
并收集到列表中。
请注意,您可能希望将模式存储在常量中,并在每次需要时重复使用。
首先,将字符串拆分成单独的数字,然后将这些(仍然是字符串)转换为实际的整数,最后将它们收集在一个列表中。您可以通过链接流操作来完成所有这些操作。
String ints = "1, 2, 3";
List<Integer> intList = Stream
.of(ints.split(", "))
.map(Integer::valueOf)
.collect(Collectors.toList());
System.out.println(intList); // [1, 2, 3]
你可以直接使用Array函数asList,然后按java8方式转换。
不要忘记删除空格。
List<Integer> erg = Arrays.asList(ints.replace(" ", "").split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
编辑: 对不起,我没有看到它是单个字符串,以为它是一个字符串数组。