我正在写这个查询服务,它假设可以使用几个预定义的类。然而,在使用这个服务类时,我觉得这是多余的,我需要传递类的类型和它自己的一个类对象。例如,查询“联系”的对象,我需要同时提供和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;
}
}
任何建议,将不胜感激。
谢谢,