使用Java 8将字符串数组转换为int数组的最简单方法是什么?[已关闭]

2022-09-02 14:24:21

我目前正在学习如何使用Java,我的朋友告诉我,使用Java 8时可以简化这个代码块。他指出,可以简化。你会如何在Java 8中做到这一点?parseIntArray

public class Solution {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String[] tokens = input.nextLine().split(" ");
        int[] ints = parseIntArray(tokens);
    }

    static int[] parseIntArray(String[] arr) {
        int[] ints = new int[arr.length];
        for (int i = 0; i < ints.length; i++) {
            ints[i] = Integer.parseInt(arr[i]);
        }
        return ints;
    }
}

答案 1

例如:

static int[] parseIntArray(String[] arr) {
    return Stream.of(arr).mapToInt(Integer::parseInt).toArray();
}

因此,请采取.用于调用每个元素并转换为 .然后只需调用结果返回数组。StreamString[]mapToIntInteger.parseIntinttoArrayIntStream


答案 2

您可以跳过创建令牌数组:String[]

Pattern.compile(" ")
       .splitAsStream(input.nextLine()).mapToInt(Integer::parseInt).toArray();

当然,结果可能会被记住并重复使用。Pattern.compile(" ")