在Java中,我們擁有原始數據類型和包裝類。我想知道我們是否可以在bean中使用包裝類代替原始數據類型,因爲包裝類是最終意義上的恆定值,我們不能改變它。在bean中,我們使用構造函數來設置值或Mutator方法。Java Bean和包裝類
例
Class Employee{
private int employeeId; //we can use Integer in place of int
private String employeeName;
}
在Java中,我們擁有原始數據類型和包裝類。我想知道我們是否可以在bean中使用包裝類代替原始數據類型,因爲包裝類是最終意義上的恆定值,我們不能改變它。在bean中,我們使用構造函數來設置值或Mutator方法。Java Bean和包裝類
例
Class Employee{
private int employeeId; //we can use Integer in place of int
private String employeeName;
}
是的,你可以,JavaBeans規範中沒有任何東西禁止它。你只需要知道你正在做出的權衡。
例如,考慮下面的類:
class Employee {
private Integer employeeId;
void setEmployeeId(Integer employeeId) {
this.employeeId = employeeId;
}
}
調用setEmployeeId(1001)
將導致JVM自動創建一個Integer
包裝對象(自動裝箱)。這是您避免使用原語的成本。
還要指出的是employeeId
初始值將是null
,而對於primite int
,這將是0
。
是的,我相信這是確定。一個bean需要可序列化,具有一個零參數構造函數,並通過getters和setter訪問其字段。
只要字段類型是可序列化的,你就很好。
請注意,通過Google的快速搜索,您可以訪問[wikipedia page](https://en.wikipedia.org/wiki/JavaBeans),它可以清楚地說明bean是什麼。 –
包裝類不會讓事情比原始數據類型更不可變;如果這是你的目標,那就沒有意義了。在兩種情況下,只有當它沒有標記爲「final」時,它才能被修改。 –