在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”时,它才能被修改。 –