在Java中找不到.split()方法

在Java中找不到.split()方法,java,split,Java,Split,我正在用Java编写一个TextReader()类来完成一个赋值,我试图用任何空格来分隔String,如下所示: String[] splitString; while (readLine != null) { //assign each word to an array splitString = splitString.split("\\s+"); } 但是,我遇到了错误“找不到符号拆分()”,我已经查看了前面的一些问题,但没有任何结果。您的拆分字符串应该是要使用拆分

我正在用Java编写一个
TextReader()
类来完成一个赋值,我试图用任何空格来分隔
String
,如下所示:

 String[] splitString;

 while (readLine != null) {
   //assign each word to an array

   splitString = splitString.split("\\s+");

}

但是,我遇到了错误“找不到符号拆分()”,我已经查看了前面的一些问题,但没有任何结果。

您的
拆分字符串应该是要使用拆分的字符串对象。
确保你有那份声明

String splittString = readLine.toString();
String[] splittedStringsArray = splittString.split('\\s+');

问题在于
splitString
变量应该是可以拆分的
字符串,但您已将其声明为
字符串[]
。假设您使用的是对象
扫描仪
(因为您使用的是while循环,所以可以随意猜测),您可能要做的是:

ArrayList<String> splitString = new ArrayList<String>();
while (scanner.hasNextLine()) {
    for (String s : scanner.nextLine().split("\\s+")) {
        splitString.add(s);
    }
}
ArrayList splitString=新建ArrayList();
while(scanner.hasNextLine()){
用于(字符串s:scanner.nextLine().split(\\s+)){
splitString.add(s);
}
}
split()
是属于
String
类的方法。您的
splitString
是一个字符串数组,因此它不能作为一个整体使用split()方法。
要使其工作,您必须使用类似于拆分字符串[0]的东西。拆分(\\s”)

我刚才也遇到过这种情况。我用maven启动了一个新的Kafka流应用程序。命令在这里

$ mvn archetype:generate \
    -DarchetypeGroupId=org.apache.kafka \
    -DarchetypeArtifactId=streams-quickstart-java \
    -DarchetypeVersion=2.0.0 \
    -DgroupId=streams.examples \
    -DartifactId=streams.examples \
    -Dversion=0.1 \
    -Dpackage=myapps
我会自动生成这样的代码片段

builder.stream("streams-plaintext-input")
                .flatMapValues(value -> Arrays.asList(value.split("\\W+")))
                .to("streams-linesplit-output");
这显示了一个错误
无法解析方法拆分(java.lang.String)
。显然,
split
方法属于
String
类,因此,我将其更改如下:

builder.stream("streams-plaintext-input")
                .flatMapValues(value -> Arrays.asList(value.toString().split("\\W+")))
                .to("streams-linesplit-output");

我很好奇为什么maven原型提供了错误的代码片段。我说的是Java 8

什么是
splitString
?它被宣布为什么?该类型是否有
split
方法?我在代码顶部将其声明为字符串,我将编辑问题它不是
String
,而是
String[]
。有一个很大的区别,你应该仔细研究一下。数组类型只有在
Object
中声明的方法。我刚刚编辑了这个问题-我把
String[]
作为一个示例,在Java中如何拆分
字符串
,您可以查看StackOverflowsorry,我的意思是,我在代码的开头声明了这一点。我有
字符串拆分字符串