2013-10-18 254 views
0
boolean rhs; 
rhs = value == null; 

具體來說,我不明白的部分是=運算符,後跟值,後跟==。 這是什麼意思?這個Java語句是什麼意思?

+1

如果值等於空分配真/假以RHS – gjman2

+1

尋找「操作符優先級」,您將理解該語句。 –

+0

想一想就好像'if(value == null)rhs = true;否則rhs = false',但只是更短... – MadProgrammer

回答

10

由於比較==具有higher priority=分配,代碼

rhs = value == null; 

相同

rhs = (value == null); 

所以它會檢查是否valuenullrhs該測試的結果保存。

3

value == null是一個布爾表達式,其計算結果爲true if value == null,否則爲false。這個表達式的值被分配給rhs

的2條語句是等價於

boolean rhs; 
if (value == null) 
    rhs = true; 
else 
    rhs false; 
0

這是簡單的方法來檢查該value是否null與否。如果null那麼將分配truerhs,否則false。您可以使用下面的代碼由你自己試試吧:

String value = null; 
    String value2 = "Testing"; 
    boolean rhs; 
    System.out.println(rhs=value == null); //print true 
    System.out.println(rhs); 

    System.out.println(rhs=value2 == null);//print false 
    System.out.println(rhs); 
1

分配到布爾變量rhs結果評估value == null