我是 Java 语言的新手。我有一个案例,我想动态创建一个列表。例如
public List getData(String classname)
{
List<classname> ob = querywithParams.list();
return ob;
}
我会像这样调用这个函数
List<Student> ob=getData("Student");
用Java怎么能实现这个东西?我需要这个来创建一个用于 HQL 执行的通用数据库适配器。
尝试这个
@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);