爲什麼此代碼有效?奇怪的Java行爲。三元運算符
Float testFloat = null;
Float f = true ? null : 0f;
爲什麼會拋出異常?
Float testFloat = null;
Float f = true ? testFloat : 0f;
但奇怪的是,這種代碼也運行成功,沒有任何例外:
Float testFloat = null;
Float f = testFloat;
看來,爪哇三元運營商改變行爲。任何人都可以解釋爲什麼這是嗎?
我用JDK 7u25運行它,它沒有拋出任何異常。 –
第三個代碼不能拋出異常:你聲明一個變量,將其設置爲null,然後聲明另一個變量並將其設置爲第一個爲null的值。沒有例外可以拋出 –