为ArrayList属性创建单独的java bean
我有两种类型的java bean可以与用户java bean关联:为ArrayList属性创建单独的java bean,java,javabeans,superclass,Java,Javabeans,Superclass,我有两种类型的java bean可以与用户java bean关联: 私人教师和公司教师。 这两个JavaBean是相似的,只是它们的一个属性,比如“subject”,PrivateTacher总是有一个属性,而companyTech可以有几个属性。 对于这两种类型的用户,如果“subject”字段是ArrayList,PrivateTacher只填充ArrayList中的一个元素,而CompanyTech可以填充多个元素,那么使用一个java bean是否更有意义 或者我应该有两个单独的java
私人教师
和公司教师
。
这两个JavaBean是相似的,只是它们的一个属性,比如“subject”,PrivateTacher总是有一个属性,而companyTech可以有几个属性。
对于这两种类型的用户,如果“subject”字段是ArrayList,PrivateTacher只填充ArrayList中的一个元素,而CompanyTech可以填充多个元素,那么使用一个java bean是否更有意义
或者我应该有两个单独的java bean:一个带有int字段,另一个带有ArrayList
字段(用于主题id的字段)
一方面,后一种方法更精确。另一方面,我不想限制我拥有的方法,比如“findTeachers”,它可以满足两种类型的java bean(传递一个表示bean类型的参数:“company”或“private”,然后用户bean将不同,但教师bean将相同)。
有什么建议或解释吗?
谢谢这取决于
如果您想以相同的方式(多态性)处理
私人教师
和公司教师
,那么列表
(而不是数组列表
)将是一种更好的方法。但如果不是这样,那么-用更精确的方式来描述它们。你可以有一位支持这两种方法的私人教师:
public String getSubject(int index) {
return index < subjects.size() ? subjects.get(index) : subjects.get(subjects.size()-1);
}
public String getSubject() {
return getSubject(0);
}
公共字符串getSubject(int索引){
返回索引