我是Java语言的新手。我有一个案例,我想动态创建一个列表。 e.g。
public List getData(String classname)
{
List<classname> ob = querywithParams.list();
return ob;
}
我会将此功能称为
List<Student> ob=getData("Student");
如何用Java实现这个功能?我需要这个来创建一个用于HQL执行的通用数据库适配器。
答案 0 :(得分:4)
试试这个
@SuppressWarnings("unchecked")
public <T> List<T> getData(String classname, Class<T> pClass)
{
List<T> ob = querywithParams.list();
return ob;
}
我没有看到你在方法中使用string classname
,所以你也可以删除它(如果你只想指定类类型)。
因此,如果删除字符串参数,则可以采用以下形式的示例调用:
@SuppressWarnings("unchecked")
public <T> List<T> getData(Class<T> pClass)
{
List<T> ob = querywithParams.list();
return ob;
}
// example invocation from some other method
List<Student> ob = getData(Student.class);