繁体   English   中英

将泛型类型类传递给方法

[英]pass generic type class to method

我想将List<Object[]>转换为List<ClassX>

为此,我创建了一个方法:

public List mapObjectArrayListToClassList(List<Object[]> objectArrayList, Class genericType){
    //some awesome logic
    return new ArrayList<genericType>();
}

我想按如下方式调用该方法:

mapObjectArrayListToClassList(objectArrayList, ClassX.class);

我收到编译错误:

genericType cannot be resolved to a type

通用类型用法中提供的类型参数必须是类型名称或类型变量,它们不能是对变量或表达式的引用。

使您的方法通用。

public <T> List<T> mapObjectArrayListToClassList(List<Object[]> objectArrayList, Class<T> genericType){
    //some awesome logic
    return new ArrayList<T>(); // or return new ArrayList<>(); 
}

您必须为方法指定通用类型

 public <T> List<T> mapObjectArrayListToClassList(List<Object[]> objectArrayList, Class<T> genericType)

注意: ListClass原始类型可以在Java中编译,但不要使用它们,它们是邪恶的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM