微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

.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(",") 返回一个 String 数组。您可以使用以下命令将 String 数组映射到 int 数组。

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

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

但是您试图将引用类型String的变量强制转换到原始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);
     }
    

希望这会有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。