我有一个逗号分隔的字符串转换为Integer数组,我使用以下方法来做,请建议是否有任何简单的方法来做。
Integer[] statusCodes = Arrays
.stream(Arrays
.stream(statusText.split(","))
.map(String::trim)
.mapToInt(Integer::valueOf)
.toArray()
)
.boxed()
.toArray(Integer[]::new);
答案 0 :(得分:5)
你不需要外流。返回类型Integer.valueOf
已经Integer
(Integer.parseInt
,它返回int
),因此您甚至不需要boxed()
它。只需使用map
代替mapToInt
。
Integer[] array = Arrays.stream(" 1,2, 3, 4".split(","))
.map(String::trim)
.map(Integer::valueOf)
.toArray(Integer[]::new);
System.out.println(Arrays.toString(array));
输出:[1, 2, 3, 4]
答案 1 :(得分:0)
另一个版本如下:
Integer[] statusCodes = Stream.of(statusText.split(",")).map(Integer::valueOf).toArray(Integer[]::new);