2016-04-05 9 views
-1

現在、私は小さくて簡単に変更可能なオブジェクトをユーザーに提供するライブラリに取り組んでいます。ただし、一部の整数フィールドはauto/inheritに設定できます。これを解決するには、特殊な意味を無効な値(たとえば、幅/高さフィールドの場合は0)に付けるか、intの代わりにIntegerを使用します。これはnullでもかまいません。私はreadibilityとパフォーマンスの特定には、いくつかの側面に考慮して、使用する必要がありますNullable整数または特別な値を持つint

class SomeProperties { 

    // C-style 
    int someField = 0; 

    // ... 

} 

class SomeProperties { 

    // SQL-style 
    Integer someField = null; 

    // ... 

} 

+1

もう1つのオプション:「オプション」を使用します。 –

+0

@AndyTurner:これは、Integerがすでにテーブルにもたらすもの(OPの特定のユースケースに関して)のオーバーヘッドです。 –

+0

@ T.J.Crowderを除いて、間違ってそれがあなたがヌル以外の 'Integer'を期待するどこかで使用することはできないという点が異なります。 –

答えて

2

私はそれとして、Null許容整数を使用します。

  1. は、あなたがどこか無効
  2. が減少する一方で、それは使用すべきではない、それを使用した場合に例外をスローし、あなたの範囲を低下させませんヒープスペース(Nullpointer対4バイトへの有効なポインタ)

この質問は一種の意見です。

関連する問題