Processing和Eclipse中的split函数在现实中是否存在Java?

Does the split function in Processing and in Eclipse exist in actual Java?

.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);
    }
}

它说:

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

numbers.split(", ") returns 一个 String 数组。您可以使用以下命令将 String 数组映射到 int 数组。

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

是的 String[] split (String regex) 引用类型 String 存在,这里是 [= 的引用 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#split(java.lang.String) 49=] 东南 11.

但是您正在尝试将引用类型 String 的变量 cast 转换为原始数组 int类型,不通过解析.

直接在Java中无法实现
  1. 将您的字符串变量拆分为字符串数组

    String numbers = "1, 2, 3, 4, 5";
    String[] numbersSplitted = numbers.split(", ");
    
  2. 将字符串数组解析为整数数组

    int [] numbersParsed = new int[numbersSplitted.length];
    for(int i = 0; i < numbersSplitted.length; i++){
        numbersParsed[i] = Integer.parseInt(numbersSplitted[i]);
    }
    
  3. 将已解析的数组或已解析数组的每个元素打印到控制台

    System.out.println(Arrays.toString(numbersParsed));

     // or print each element of the parsed array
    
     for (int val : numbersParsed) {
         System.out.println(val);
     }
    

希望这会有所帮助!