2017-02-17 59 views
1

在Java中,我們擁有原始數據類型和包裝類。我想知道我們是否可以在bean中使用包裝類代替原始數據類型,因爲包裝類是最終意義上的恆定值,我們不能改變它。在bean中,我們使用構造函數來設置值或Mutator方法。Java Bean和包裝類

Class Employee{ 

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

包裝類不會讓事情比原始數據類型更不可變;如果這是你的目標,那就沒有意義了。在兩種情況下,只有當它沒有標記爲「final」時,它才能被修改。 –

回答

0

是的,你可以,JavaBeans規範中沒有任何東西禁止它。你只需要知道你正在做出的權衡。

例如,考慮下面的類:

class Employee { 
    private Integer employeeId; 

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

調用setEmployeeId(1001)將導致JVM自動創建一個Integer包裝對象(自動裝箱)。這是您避免使用原語的成本。

還要指出的是employeeId初始值將是null,而對於primite int,這將是0

0

是的,我相信這是確定。一個bean需要可序列化,具有一個零參數構造函數,並通過getters和setter訪問其字段。

只要字段類型是可序列化的,你就很好。

+0

請注意,通過Google的快速搜索,您可以訪問[wikipedia page](https://en.wikipedia.org/wiki/JavaBeans),它可以清楚地說明bean是什麼。 –