0

我单独测试了每个语句并且它有效,但是当我使用 || 它忽略了语句的 !driver.getText().toString().equals("") 部分。有任何想法吗?

 if((!driver.getText().toString().equals(""))|| (canDrive>=0) )  
4

3 回答 3

1

||运算符表示-因此,如果任一条件为真,则测试成功。如果您希望这两个条件都为真,请使用&&.

更多阅读:http ://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

于 2012-04-04T02:01:19.493 回答
0

如果要执行条件的两个部分,请使用“|” 操作员。IE

if(driver.getText().toString().length() > 0 | canDrive >= 0) 

虽然,应该始终执行语句的左侧部分:http: //docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24

于 2012-04-04T01:54:39.223 回答
0

如果编译器发现 canDrive >=0 肯定会忽略其余部分条件,因为您正在使用 || (或)条件,所以这会发生,

其他明智的完美,

我试过看代码。

class test{
    public static void main(String[] arr){
    String str = TestString";
    int canDrive = 1;
    if(!str.toString().equals("") || canDrive >=0)
        System.out.println("pass");
        else
        System.out.println("fail");
    }
}
于 2012-04-04T02:01:46.227 回答