如何通过接受类名动态创建列表

时间:2013-01-18 07:08:12

标签: java arraylist hql

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

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

我会将此功能称为

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

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

1 个答案:

答案 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);