我正在寫這個查詢服務,它假設可以使用幾個預定義的類。然而,在使用這個服務類時,我覺得這是多餘的,我需要傳遞類的類型和它自己的一個類對象。例如,查詢「聯繫」的對象,我需要同時提供和Contact.class,如下所示:關於java泛型的問題
lookupService = new MyLookupServiceImpl<Contact>(Contact.class);
在這種情況下,有沒有辦法來初始化類不傳遞「聯繫。類」? 服務類似如下:
public class MyLookupServiceImpl<T> {
private Class<T> cls;
public MyLookupServiceImpl(Class<T> clz){
this.cls = clz;
}
public T queryObject(String sql) {
try {
QueryResult result = ConnectionFactory.getConnection().query(sql);
if(result.getSize()>0){
T obj=null;
MyObject sObj = result.getRecords()[0];
MyObjectBuilder<T> ob = new MyObjectBuilder<T>(cls);
obj = ob.buildORMObject(sObj);
return obj;
}
} catch (ConnectionException e) {
logger.warn(e.toString());
}
return null;
}
}
任何建議,將不勝感激。
謝謝,