Javaでnull許容プリミティブ型intを表現するにはどうすればいいですか? 質問する

Javaでnull許容プリミティブ型intを表現するにはどうすればいいですか? 質問する

私は「documentYear」という名前のフィールドを持つエンティティ クラスを設計しています。このフィールドは、1999、2006 などの符号なし整数値を持つ可能性があります。一方、このフィールドは「不明」である可能性もあります。つまり、ドキュメントが作成された年が不明です。

したがって、ヌル可能整数C# のような型が適しています。ただし、Java には C# のような null 許容機能はありません。

選択肢は 2 つありますが、どちらも気に入りません。

  1. java.lang.Integerプリミティブ型の代わりに使用しますint
  2. 「不明」な値を表すには -1 を使用します

もっと良い選択肢やアイデアをお持ちの方はいらっしゃいますか?

アップデート: 私のエンティティ クラスには数万のインスタンスがあるため、java.lang.Integer のオーバーヘッドがシステム全体のパフォーマンスにとって大きすぎる可能性があります。

ベストアンサー1

ここで Integer クラスを使用するのがおそらく望ましいでしょう。オブジェクトに関連するオーバーヘッドは、アプリケーションの全体的な応答性とパフォーマンスにほとんど影響しません (必ずしもそうとは限りませんが)。

おすすめ記事