私は「documentYear」という名前のフィールドを持つエンティティ クラスを設計しています。このフィールドは、1999、2006 などの符号なし整数値を持つ可能性があります。一方、このフィールドは「不明」である可能性もあります。つまり、ドキュメントが作成された年が不明です。
したがって、ヌル可能整数C# のような型が適しています。ただし、Java には C# のような null 許容機能はありません。
選択肢は 2 つありますが、どちらも気に入りません。
java.lang.Integer
プリミティブ型の代わりに使用しますint
。- 「不明」な値を表すには -1 を使用します
もっと良い選択肢やアイデアをお持ちの方はいらっしゃいますか?
アップデート: 私のエンティティ クラスには数万のインスタンスがあるため、java.lang.Integer のオーバーヘッドがシステム全体のパフォーマンスにとって大きすぎる可能性があります。
ベストアンサー1
ここで Integer クラスを使用するのがおそらく望ましいでしょう。オブジェクトに関連するオーバーヘッドは、アプリケーションの全体的な応答性とパフォーマンスにほとんど影響しません (必ずしもそうとは限りませんが)。