0

我知道这个问题已经被问死了,但我已经尝试了所有针对这个问题的解决方案,我的 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
  }
}

任何建议将不胜感激。

4

2 回答 2

2

这确实按预期工作

for (String token : "Something*like*this*".split("\\*")) {
    if (token.equals("this")) {
        System.out.println("Found this");
    }
}
于 2013-03-09T01:55:18.623 回答
0

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
> 
于 2013-03-09T01:54:36.960 回答