Java错误:无法解析方法split()

时间:2019-06-01 10:29:50

标签: java string intellij-idea split compiler-errors

我试图将用户输入到String数组中,并想使用string.split()方法,但是由于某种原因,我的IntelliJ告诉我,它无法解析方法'split()'。

package com.Practice;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();

        String[] splittedString = input.split();
    }
}

我不认为我的代码可能存在问题,可能是我的IDE或Java版本存在问题,但是我对此并不熟练。 当我尝试运行程序时,将引发此错误:

Error:(10, 40) java: no suitable method found for split(no arguments)
    method java.lang.String.split(java.lang.String,int) is not applicable
      (actual and formal argument lists differ in length)
    method java.lang.String.split(java.lang.String) is not applicable
      (actual and formal argument lists differ in length)

3 个答案:

答案 0 :(得分:2)

Java确实没有不带任何参数的String#split方法。您需要使用正则表达式来分割字符串,例如\\s(这意味着要用空格分割):

String[] splittedString = input.split("\\s");

答案 1 :(得分:0)

您需要在 split 方法中添加参数。检查拆分方法here

public class Main {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String input = sc.nextLine();

    String[] splittedString = input.split(" ");

}
}

答案 2 :(得分:0)

如在其他一些答案中所述,Java中的String.split()需要输入,例如,如果您打算对每个字符应用某些内容或创建字符数组,则需要进行迭代。

private String myCoolString = "myCoolString";
private char[] chars = new char[myCoolString.length()];
//array of primitive chars
for( int i = 0; i < myCoolString.length();i++){
    chars[i] = myCoolString.charAt(i);
}

// List of boxed Characters (Java 8+, the above can be used to do this too)
List<Character> charList =
        myCoolString
                .chars()
                .mapToObj(e->(char)e)
                .collect(Collectors.toList());