0

我是 Java 语言的新手。我有一个案例,我想动态创建一个列表。例如

 public List getData(String classname)
{
   List<classname> ob = querywithParams.list();
    return ob;
 }

我会像这样调用这个函数

List<Student> ob=getData("Student");

用Java怎么能实现这个东西?我需要这个来创建一个用于 HQL 执行的通用数据库适配器。

4

1 回答 1

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);
于 2013-01-18T07:11:02.960 回答