我可以这样做吗 - if(token[0].equals(( "MOVE" )|("NOT" )|( "AND" ))



我想创建一个if条件,如下所示:

if(token[0].equals(("MOVE")|("NOT")|("AND"))
{
}

还有其他方法吗?

对不起,不行

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html = (java . lang . object)

每次只比较一个对象

你可以把它写成一堆独立的OR-red语句:

if (token[0].equals("MOVE") || token[0].equals("NOT") || token[0].equals("AND")) {
     ...
}
或者,使用新的基于Java字符串的switch语句:
switch(token[0]) {
case "MOVE":
case "NOT":
case "AND":
    ...
    break;
default:
    ...
}

希望这对你有帮助!

嘿,不。Java并没有那么强大。您需要做三个比较:

if(token[0].equals("MOVE") || token[0].equals("NOT") || token[0].equals("AND"))
{
}

前面的答案当然是正确的,但我将在这里提出另一个选项。

if (token[0].matches("MOVE|NOT|AND")) {
    ...
}

这有点低效,是典型的正则表达式的过度使用,但它很简洁,并且与您所写的内容精神接近。

一个集合可以做你想做的。

    String[] commands={"MOVE", "NOT", "AND"};
    Set<String> cmds=new HashSet<String>(Arrays.asList(commands));
    if (cmds.contains(token[0])) {
        . . .
    }

最新更新