私はそれぞれのステートメントを単独でテストしたが動作しますが、||これは、文の!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
ありがとう、私は馬鹿のように感じる。 – Aaron
@Aaron - 問題ありません。このリンクはJavaチュートリアルへのリンクです。Javaチュートリアルは、一般的にJavaを開始するための偉大なリソースです。 –
条件の両方の部分を実行する場合は、 '|'を使用します。オペレーター。私。
if(driver.getText().toString().length() > 0 | canDrive >= 0)
けれども、文の左部分は必ず実行する必要があります。http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.24
OPは、最初の部分が実行されていないと主張しています。 –
コンパイラは、使用しているのでdefiitelyそれが条件 の一部の残りの部分を無視するよりも、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");
}
}
あなたは代わりに ''等号(「」) ' – ulmangt
LHSは常に評価されますの)' String.isEmptyを(使用して、この少しきれいにすることができます - あなたは、これが実際のコードであることを確認していますか? –
"!driver.getText()。toString()。equals(" ")' "の部分を無視するという意味ですか? –