Java 无法使用split()方法

Java 无法使用split()方法,java,arrays,string,split,Java,Arrays,String,Split,我试图拆分一个字符串,它是数组元素,但编译器说:类型不匹配,无法从字符串[]转换为字符串。我不明白,因为如果我们有一个字符串数组,那么这个数组的元素必须是string类型,而不是string[] 代码如下: while((s=buffereader.readLine())!=null) { words=s.split(" "); for (String word : words) { s=words[0]; s=s.split("T")

我试图拆分一个字符串,它是数组元素,但编译器说:类型不匹配,无法从字符串[]转换为字符串。我不明白,因为如果我们有一个字符串数组,那么这个数组的元素必须是string类型,而不是string[]

代码如下:

while((s=buffereader.readLine())!=null)
{
    words=s.split(" "); 
    for (String word : words) 
    {
        s=words[0];
        s=s.split("T");
    }
}

您的编译器在
s=s.split(“T”)上出错
其中
s
是字符串,而不是数组

同样地,
words.equals(input)
并没有达到预期效果,因为数组永远不会等于字符串。您需要扫描数组以查看是否有任何元素相等。如果使用现代IDE而不是在CLI中编译,则可能会更快地捕获此错误

假设您想检查每行中是否包含
输入
,然后拆分字母
T
上的第一列,这就是您想要的

String s;
List<String> words;
while((s=buffereader.readLine()) != null) {
    words = Arrays.asList(s.split("\\s+"));  // Split by one _or more_ spaces
    if (words.contains(input)) {
        s = words.get(0);
        words = Arrays.asList(s.split("T"));
    }
 }
字符串s;
列出单词;
而((s=buffereader.readLine())!=null){
words=Arrays.asList(s.split(\\s+);//被一个或多个空间分割
if(words.contains(输入)){
s=words.get(0);
words=Arrays.asList(s.split(“T”);
}
}

我发现了问题。这就是我试图做的

public static void timeStamp() throws IOException {
        File log= new File(parametrization.link[15]);
        FileReader fileReader = new FileReader(log);
        BufferedReader buffereader = new BufferedReader(fileReader);
        String s;
        String[] s1;
        String[] words;
        String input="gracefully";
        while((s=buffereader.readLine())!=null)
         {
            words=s.split(" "); 
            for (String word : words) 
            {
            if (word.equals(input));
            {
                s=words[0];
                s1=s.split("T");

            }

            }
         } 

您希望
words.equals(input)
做什么?哪个单词相等?
单词
是一个数组。为什么它会等于一个字符串?在
words=s.split(“”)
语句之后是否缺少另一个循环?