是否可以仅使用lambda表达式将字符串转换为int []?

时间:2016-06-10 04:50:34

标签: java arrays lambda

我在考虑仅使用lambda表达式将此String1 2 3 4 5 6转换为int[]

我正在思考一些事情

int[] x = Arrays.asList(scan.nextLine().split(" ")).stream.forEach(it -> Integer.parseInt(it));但这在语法上无效。

2 个答案:

答案 0 :(得分:6)

对于@Jason的回答,删除转换为列表并返回int[]而不是Integer[]只是一些小改进:

int[] result = Pattern.compile(" ").splitAsStream("1 2 3 4 5")
    .mapToInt(Integer::parseInt)
    .toArray();

答案 1 :(得分:1)

如果您不介意结果为Integer[]

String s = "1 2 3 4 5";
int[] x = Arrays.stream(s.split(" "))
        .mapToInt(Integer::parseInt)
        .toArray();