2016-03-24 14 views
0

Çeşitli POJO'larda tutulan ortak verileri başlatmak için jenerikler kullanmak istiyorum. POJOs, böyle yapılandırılmıştırPOJO'ların sayısını karşılamak için genel bir yöntem oluşturma

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; 
} 

Ne genel yöntemle BasePojo içinde MiddleName ve cinsiyet ayarlanır yapmak istiyorum.

// 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"; 
} 

Bu senaryo için doğru uygulama nedir? A Sınıfı, B Sınıfı… Sınıf Z'yi (BasePojo'yu genişleten herhangi bir sınıf) geçebilmek ve middleName ve cinsiyet için farklı değerler atamak istiyorum. Birkaç fikir daha denedim, ancak "uyumsuz tür" hatalarıyla çalışmaya devam ediyorum. Şimdiden teşekkürler.

cevap

2

Ben bundan daha fazla karmaşık olması gerekir sanmıyorum:

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

emin değil misiniz Sınıf nesneleri içeren nedeninizi. Üye atamanıza yardımcı olmazlar.

+0

Bunun nedeni, A Sınıfı veya B Sınıfı ... Sınıf Z'yi, BasePojo'yu genişleten ve middleName ve cinsiyet için farklı değerler ayarlayan herhangi bir sınıfı gerçekten geçmek istiyorum. – portfoliobuilder

+3

Sınıf nesneleri BasePojo'yu genişletmiyor. Sınıf nesneleri, sınıfın bir örneğini değil, bir sınıf tanımını temsil eder. –

+0

Anladım, bunu sınıf nesnelerini daha iyi anlayarak alternatif bir şekilde çalışmayı başardım. Şerefe! – portfoliobuilder

İlgili konular