Java 无法使用split()方法
我试图拆分一个字符串,它是数组元素,但编译器说:类型不匹配,无法从字符串[]转换为字符串。我不明白,因为如果我们有一个字符串数组,那么这个数组的元素必须是string类型,而不是string[] 代码如下: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")
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(“”)
语句之后是否缺少另一个循环?