我知道这个问题已经被问死了,但我已经尝试了所有针对这个问题的解决方案,我的 if 语句仍然没有执行。我的代码是这样的:
String s = "Something*like*this*";
String[] sarray = s.split("\\*");
for(int i = 0; i < sarray.length; i++) {
if(sarray[i].equals("this")) {
//do something
}
}
任何建议将不胜感激。
这确实按预期工作
for (String token : "Something*like*this*".split("\\*")) {
if (token.equals("this")) {
System.out.println("Found this");
}
}
将if
在这里执行。
在 drJava 交互窗格(或您最喜欢的 IDE 窗格)中测试这一点,各个部分(检查它们是否有效)。
Welcome to DrJava. Working directory is C:\JavaProjects
> String s = "Something*like*this";
> String[] sarray = s.split("\\*");
> sarray[0]
"Something"
> sarray[1]
"like"
> sarray[2]
"this"
> sarray[3]
java.lang.ArrayIndexOutOfBoundsException
> sarray.length
> 3
> sarray[1].equals("this")
false
>