重複の可能性:
Java条件演算子?:
自動ボクシングによる結果タイプNullPointerException-Java三項演算子の動作
私には2つの機能があるとしましょう:
f(MyObject o) { ... }
f(int i) { ... }
そして私はそれらをこのように呼びます:
f(someCondition ? 10 : null);
これはコンパイルされますが、実行するとnullポインター例外が発生します(申し訳ありませんが、どの条件であるかわかりません)。私の質問のいくつかは次のとおりです。
- なぜそれもコンパイルするのですか?の種類は
foo ? 10 : null
何ですか? - NPEが発生しないため、明らかに「正しい」関数は呼び出されません。では、どの関数を呼び出しているのでしょうか。それはします
f((MyObject)10);
かf((int)null)
?