このコードはなぜ機能しますか?奇妙なJavaの動作。 3進演算子
Float testFloat = null;
Float f = true ? null : 0f;
なぜこの例外が発生しますか?
Float testFloat = null;
Float f = true ? testFloat : 0f;
しかし、奇妙なことは、このコードはまた、例外なしで正常に動作することです:
Float testFloat = null;
Float f = testFloat;
Javaの三項演算子は、動作を変更しているようです。誰でもこれがなぜなのか説明できますか?
JDK 7u25で実行しても、例外は発生しませんでした。 –
3つ目のコードでは、例外をスローすることはできません:1つの変数を宣言し、それをヌルに設定してから別の変数を宣言し、最初の値をnullに設定しています。例外は投げられないかもしれない –