我单独测试了每个语句并且它有效,但是当我使用 || 它忽略了语句的 !driver.getText().toString().equals("") 部分。有任何想法吗?
if((!driver.getText().toString().equals(""))|| (canDrive>=0) )
我单独测试了每个语句并且它有效,但是当我使用 || 它忽略了语句的 !driver.getText().toString().equals("") 部分。有任何想法吗?
if((!driver.getText().toString().equals(""))|| (canDrive>=0) )
||
运算符表示或-因此,如果任一条件为真,则测试成功。如果您希望这两个条件都为真,请使用&&
.
更多阅读:http ://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
如果要执行条件的两个部分,请使用“|” 操作员。IE
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");
}
}