コンストラクタはNULLオブジェクトを返せるか?
2023-10-19 21:33:17
質問
古いコードを調べているときに、この宝石に出会いました。
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
2行目はEclipseでデッドコードとマークされていますが、その理由は理解できます。例外は明示的に投げられていないようです。
MyObject
のコンストラクタが何らかの例外を投げることは不可能です(たとえば
NullPointerException
s).
私の質問は なぜ は null チェックがあるのでしょうか?以前、Java の古いバージョンでは、コンストラクタが null を返すことが可能だったのでしょうか?それとも、これは単に無駄で死んだコードなのでしょうか?
どのように解決するのですか?
このコードは、Javaのどのバージョンでも死んでいます。コンストラクタが
null
を返すことは不可能であり、たとえコンストラクタから例外が投げられたとしても、次の行は呼び出されることはありません。
関連
-
[解決済み] C++で、あるコンストラクタを別のコンストラクタから呼び出す(コンストラクタ・チェイニングを行う)ことは可能ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] C#でベースコンストラクタを呼び出す
-
[解決済み] instanceofを呼び出す前にnullチェックは必要ですか?
-
[解決済み] Pythonでnullオブジェクトを参照する
-
[解決済み] あるコンストラクタを別のコンストラクタから呼び出す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
Javaジェネリックを1つの記事で
-
Junitのユニットテストはjava.lang.Testを報告します。
-
SocketException java.netの4つの例外解決策。
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
配列定数は初期化子でのみ使用可能です。
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。