[英]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)
注意: List
和Class
原始类型可以在Java中编译,但不要使用它们,它们是邪恶的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.