我自己测试了每个语句并且它有效,但是当我使用||时它忽略了!driver.getText()。toString()。equals(“”)语句的一部分。有什么想法吗?
if((!driver.getText().toString().equals(""))|| (canDrive>=0) )
答案 0 :(得分:1)
||
运算符表示或 - 因此,如果任一条件为真,则测试成功。如果您希望这两个条件都成立,请使用&&
。
更多阅读:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
答案 1 :(得分:0)
如果要执行条件的两个部分,请使用“|”运营商。即。
if(driver.getText().toString().length() > 0 | canDrive >= 0)
但是,语句的左侧部分应始终执行:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24
答案 2 :(得分:0)
如果编译器发现canDrive> = 0而不是defiitely,它将忽略其余部分条件 因为你正在使用|| (或)条件所以这将发生,
其他明智的完美,
我试过看过代码。
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");
}
}