2015-06-22 57 views
0

我有兩種類型的java bean可以與用戶java bean關聯: PrivateTeacherCompanyTeacher。 這兩個java bean是相似的,只爲其中一個屬性,稱爲「subject」,PrivateTeacher將始終有一個,而CompanyTeacher可以有幾個。 對於這兩種類型的用戶,其中「主題」字段將是ArrayList並且PrivateTeacher將只填充ArrayList的一個元素,而CompanyTeacher可以填充多個類型,是否更合理?爲ArrayList屬性創建單獨的java bean

或者我應該有兩個獨立的java bean:一個用int字段,另一個用ArrayList<Integer>字段(用於主題ID的字段)?

一方面,後一種方式更加精確。另一方面,我不想限制我有的方法,比如說「findTeachers」,它可以滿足這兩種類型的java bean(傳遞一個參數,說的是bean的類型:「company」或「private」,然後用戶bean將會不同,但Teacher bean將是相同的)。 任何建議或解釋? 謝謝

回答

0

這取決於...

如果你想以同樣的方式(polymorphicaly)然後List<Integer>(不ArrayList)將是一個更好的辦法來治療既PrivateTeacherCompanyTeacher。但是,如果情況並非如此 - 請使用更精確的方式來描述它們。

0

你可以有兩種方法都支持一個PrivateTeacher:

public String getSubject(int index) { 
    return index < subjects.size() ? subjects.get(index) : subjects.get(subjects.size()-1); 
} 
public String getSubject() { 
    return getSubject(0); 
} 
相關問題