2016-03-24 12 views
0

ジェネリックを使用して、さまざまなPOJOに保持されている共通データをインスタンス化する必要があります。 POJOのは、このように構成されている、私が何をしたいのか任意の数のPOJOに対応する汎用メソッドの作成方法

public class A extends BasePojo { 
    public String firstName; 
} 

public class B extends BasePojo { 
    public String lastName; 
} 

public class BasePojo { 
    public String middleName; 
    public String gender; 
} 

は、一般的なメソッドを介してBasePojoでmiddleNameや性別を設定されています。

// this method is what I need help creating, it is not correct. 
public static Class<? extends BasePojo > setData(Class<T> pojo) { 
    pojo.middleName = "Jason"; 
    pojo.gender = "male"; 
} 

このシナリオにはどのような実装が適していますか?クラスA、クラスB ....クラスZ(BasePojoを拡張する任意のクラス)を渡し、middleNameとgenderの異なる値を設定できるようにしたい。私はいくつかのアイデアを試しましたが、 "互換性のないタイプ"のエラーが続いています。進んでいただきありがとうございます。

答えて

2

私はそれがこれ以上複雑にする必要があるとは思わない:なぜあなたはClassオブジェクトが関与している

public static void setData(BasePojo pojo) { 
    pojo.middleName = "Jason"; 
    pojo.gender = "male"; 
} 

わかりません。彼らはあなたがメンバーを割り当てるのを手助けしません。

+0

私は本当にクラスAまたはクラスB ....クラスZ、BasePojoを拡張し、middleNameと性別の異なる値を設定する任意のクラスを渡したいのでです。 – portfoliobuilder

+3

クラスオブジェクトはBasePojoを拡張しません。クラスオブジェクトはそのクラスのインスタンスではなく、クラス定義を表します。 –

+0

わかりました。私はこれを、Classオブジェクトをよりよく理解することで、別の方法で動作させることができました。乾杯! – portfoliobuilder

関連する問題