このスニペットはNullPointerException
、プリミティブ型にボックス化されておらず、呼び出されているという事実のためにスローしLong.longValue()
ますよね?
次のようなスニペットがあれば、さらに簡単に確認できます。
long value = (Long) null;
しかし、次のNullPointerException
ようなより複雑な状況では、これを取得するのはさらに困難です。
long propertyValue = (Long) obj.getProperty(propertyModel.getName());
Javaコンパイラがこれからより快適な例外を作成する可能性はありませんか? 「null オブジェクトをプリミティブ型にキャストしようとしていますが、これはできません!」のIllegalArgumentException
ようなメッセージが表示されることをお勧めします。
これはより適切ではないでしょうか?どう思いますか?これは実行時にも可能ですか? このキャストを決定できますか?Java バイトコードはまだ見ていません。ソリューションで使用できる可能性があります。
この質問に答えることができます: この動作を実現できるかどうか知りたいです!