2017-02-17 10 views
1

Javaでは、基本データ型とラッパークラスがあります。私は、ラッパークラスが最終的な定数値を持ち、変更できないため、プリミティブデータ型の代わりにBeanでラッパークラスを使用できることを知りたいです。 Beanでは、値を設定するコンストラクタやMutatorメソッドを作成します。Java Beansとラッパークラス

Class Employee{ 

    private int employeeId; //we can use Integer in place of int 
    private String employeeName; 
    } 
+0

ラッパークラスは、プリミティブなデータ型よりも不変なものにするつもりはありません。それがあなたの目標なら、何の意味もありません。どちらの場合も、「最終」と表示されていない場合にのみ変更できます。 –

答えて

0

はい、できますが、それを禁止するJavaBeans仕様には何もありません。あなたはトレードオフを意識しているだけです。次のクラス与えられた

例えば、:

class Employee { 
    private Integer employeeId; 

    void setEmployeeId(Integer employeeId) { 
     this.employeeId = employeeId; 
    } 
} 

setEmployeeId(1001)を呼び出すと、JVMが自動的にIntegerラッパーオブジェクト(オートボクシング)を作成します。これはプリミティブの使用を避けるためのコストです。

はまたprimite intのために、それは0だろう一方employeeIdの初期値は、nullになることに注意してください。

0

はい、私はこれはOKだと思います。 Beanは、直列化可能であり、引数なしのコンストラクタを持ち、gettersとsetterを介してそのフィールドにアクセスする必要があります。

フィールドタイプがシリアライズ可能である限り、あなたは良いです。

+0

クイックGoogle検索では、[wikipedia page](https://en.wikipedia.org/wiki/JavaBeans)にアクセスできます。これは、Beanの内容を明確に説明しています。 –

関連する問題