在學習OCA/OCP for Java的過程中,我發現了這個令人驚訝的事情。如果條件在圓括號內的賦值情況下評估真或假,
下面是第一段代碼,其中if(測試條件)部分 令我驚訝。
public class BooleanIf {
public static void main(String[] args) {
boolean b = false;
System.out.println(Boolean.valueOf(b = true));
if (b = true)
System.out.println("true");
else
System.out.println("false");
}
現在這個出人意料的結果是「真實的」。
我知道必須有一個關係條件,如同if (a > b)
或if (a != b)
一樣返回true或false。
我想知道它是如何返回true爲這種情況。它是否調用Boolean.valueOf()?
如果你真的在爲OCPJP學習,你應該知道這一點!如果沒有,請先完成OCAJP! – NoRelect
這個問題怎麼來得到10k +用戶的回答?爲reall ??,我以爲它只是像我這樣的低代表妓女,追逐這些..嗯 – Elltz
@NoRelect對不起,我的意思是oca和ocp都。 –