2

Bean変数のJavaの最良のコーディング標準は何ですか?

1.プリミティブデータ型を使用する必要がありますか?
2.ラッパータイプを使用する必要がありますか?

または両方が同じですか?

4

5 に答える 5

11

場合によります。どちらも正当な理由で存在します。

プリミティブは可能な限り優先されるべきです。それらはより安価であり、null許容ではないため、潜在的なバグの多くを回避できます。

ラッパーを使用して、NULL可能値を表すことができます(たとえば、JPAでは、データベース内のNULL可能列値を表すために、またはJAXBでは、XML要素のオプションの要素または属性を表すために)。

于 2012-09-22T07:54:29.950 に答える
5

場合によります。
たとえば、Beanにデータベースからの情報が入力されている場合があります。
定義によれば、列はnull許容データを保持する場合があります。
この場合、非プリミティブ型、つまり整数の使用を検討します。
ただし、プリミティブ型+操作を使用する場合は、自動ボックス化/ボックス化解除が実行され(つまり、コードに応じて整数から整数に自動的に変換されます)、パフォーマンスが少し低下する可能性があります。

結論として、
可能な場合はプリミティブを使用してみてください。Null値を保持する必要がある場合は、非プリミティブを使用してください。

于 2012-09-22T07:55:06.163 に答える
3

可能な場合はプリミティブを使用しますが、null値を格納する必要がある場合は使用しないでください

例:

Boolean isObject;
boolean isPrimitive;

int xPrimitive;
Integer xObject;

これらの値を保存すると、等しくないことがわかります。

// isObject == null
// isPrimitive == false

// xPrimitive == 0
// xObject == null

したがって、ベストプラクティスは、アプリケーションにとって意味のあるものです。最適化するには、オブジェクトに対してプリミティブを使用してメモリオーバーヘッドを削減する必要がありますが、ビジネス要件やロジック要件と競合しない場合に限ります。

于 2012-09-22T07:58:22.667 に答える
2

一般に、ラッパーではなくプリミティブを使用するのが最適です。ラッパーは、次のようなメソッドに最適です。

Integer.toString(myInt);

このメソッドはラッパークラスからのものmyIntですが、プリミティブです。一般的に、プリミティブは必要なことをすべて実行します

于 2012-09-22T07:58:49.250 に答える
1

プリミティブ型を使用しました。

例えば:

private int i;
private boolean b;

public int getI()
{
}

public void setI(int i)
{
    this.i = i;
}

public boolean getB()
{
}

public void setB(boolean b)
{
    this.b = b;
}

セッターとゲッターを使用します。ありがとう

于 2012-09-22T07:52:17.410 に答える