我单独测试了每个语句,它可以工作,但当我使用||时,它会忽略!driver.getText().toString().equals(")部分。有什么想法吗?
if((!driver.getText().toString().equals(""))|| (canDrive>=0) )
||
运算符的意思是或-因此,如果其中一个条件为true,则测试成功。如果希望两个条件都为true,请使用&&
。
更多阅读:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
如果要执行条件的两个部分,请使用'|'运算符。即
if(driver.getText().toString().length() > 0 | canDrive >= 0)
不过,语句的左侧部分应该始终执行:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24
如果编译器发现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");
}
}