实际Java中是否存在Processing和Eclipse中的拆分功能?

Ken*_*t23 2 java eclipse processing

.split() 函数是否存在?当我输入:

public class Main {
    public static void main(String[] args) {
        String numbers = "1, 2, 3, 4, 5";
        int[] numbers2 = (int[]) numbers.split(", ");
    
        System.out.println(numbers2);
    }
}
Run Code Online (Sandbox Code Playgroud)

它说:

Main.java:4: error: incompatible types: String[] cannot be converted to int[]
    int[] numbers2 = (int[]) numbers.split(", ");
                                          ^
1 error
Run Code Online (Sandbox Code Playgroud)

Mad*_*aby 5

numbers.split(", ")返回一个String数组。您可以使用以下内容将String数组映射到int数组。

int[] numbers2 = Arrays.stream(numbers.split(", ")).mapToInt(Integer::parseInt).toArray();
Run Code Online (Sandbox Code Playgroud)

  • 使用 Pattern.splitAsStream 将避免创建中间字符串数组。`Pattern.compile(", *").splitAsStream(numbers).mapToInt(Integer::parseInt).toArray();` (4认同)
  • 注意输入中的空格。更好的是 `split("\\s*,\\s*")` 或其中某处的修剪方法 (3认同)