事前情報。
public abstract class Person {}
public class A extends Person{}
public class B extends Person{}
public class C extends Person{}
public X getPersonByType(String type){
//This Method will return either A or B or C based on type
//what should X be ?
}
String
を受け取り、のサブタイプであるオブジェクトを返すメソッドを作成する必要がありますPerson
。
詳しくは。各クラス ABC には、属性パブリック リスト ロールがあります。これらは一意に名前が付けられている必要があるため (JPA 多対多テーブル)、Person クラスに移動することはできません。
可能であれば、person
ロール属性にアクセスできないため、戻りたくありません(人はそれについて知りません)。また、(可能であれば)instanceOfをキャストまたは使用する必要のないソリューション(可能であれば)を希望します。
PSは試し<? extends Person>
ましたが、Eclipseは「メソッドの戻り型がありません」というエラーを出しました