使用java中的类对象创建通用列表

时间:2017-09-29 08:03:04

标签: java reflection

我有一个我想制作通用的功能。 我想要下面的代码

public String list(){
    List<EMovieCategory> dataList = DBCompanyContent.getInstance().getDataByDocType(EMovieCategory.class);
    return "";
}

类似

public String list(Class cls){
        List<WHAT TO WRITE HERE > dataList = DBCompanyContent.getInstance().getDataByDocType(cls);
        return "";
    }

我无法弄清楚在List&lt; ***&gt;

中写什么

2 个答案:

答案 0 :(得分:1)

使用类型变量:

public <T> String list(Class<T> cls){
    List<T> dataList = DBCompanyContent.getInstance().getDataByDocType(cls);
    return "";
}

如果getDataByDocType要求某个范围内的Class实例,则可能需要绑定类型变量:

public <T extends SomeClass> String list(Class<T> cls) {

OTOH,如果你实际上没有使用它是T s列表的事实:

public String list(Class<?> cls){
    List<?> dataList = DBCompanyContent.getInstance().getDataByDocType(cls);
    return "";
}
如果您不打算使用它,或者您甚至根本不需要变量:

public String list(Class<?> cls){
    DBCompanyContent.getInstance().getDataByDocType(cls);
    return "";
}

答案 1 :(得分:0)

<>之间的部分是List将存储的数据类型。您将输入getDataByDocType(cls)返回的数据类型。

相关问题