Java 8 将字符串转换为 List<Integer>
2022-09-03 03:24:00
我有一个字符串:
String ints = "1, 2, 3";
我想将其转换为int列表:
List<Integer> intList
我能够以这种方式将其转换为字符串列表:
List<String> list = Stream.of("1, 2, 3").collect(Collectors.toList());
但不是列出整数。
有什么想法吗?
我有一个字符串:
String ints = "1, 2, 3";
我想将其转换为int列表:
List<Integer> intList
我能够以这种方式将其转换为字符串列表:
List<String> list = Stream.of("1, 2, 3").collect(Collectors.toList());
但不是列出整数。
有什么想法吗?
您需要拆分字符串并从每个部分创建一个流。splitAsStream(input) 方法正是这样做的:
Pattern pattern = Pattern.compile(", ");
List<Integer> list = pattern.splitAsStream(ints)
.map(Integer::valueOf)
.collect(Collectors.toList());
它返回输入字符串的一部分,稍后可以将其映射到 和 收集到列表中。Stream<String>Integer
请注意,您可能希望将模式存储在常量中,并在每次需要时重用它。
正则表达式拆分是你正在寻找的
Stream.of(ints.split(", "))
.map(Integer::parseInt)
.collect(Collectors.toList());