Java 列表的动态转换<;对象>;列出<;T>;在爪哇
我有如下功能:Java 列表的动态转换<;对象>;列出<;T>;在爪哇,java,spring-boot,collections,casting,java-8,Java,Spring Boot,Collections,Casting,Java 8,我有如下功能: public Event convertModelToEvent(List<Object> reportingObject,String Feedname) { Event event = new Event(); event.setHeaderReference(new HeaderReference()); Class<?> classType = Class.forName(Feedname);
public Event convertModelToEvent(List<Object> reportingObject,String Feedname) {
Event event = new Event();
event.setHeaderReference(new HeaderReference());
Class<?> classType = Class.forName(Feedname);
List<classType> mythings = (List<classType>) (Object) reportingObject;
event.setPayload(new Payload(reportingObject));
event.setSpecifications(Lists.newArrayList());
return event;
}
public Event convertModelToEvent(列表报告对象,字符串Feedname){
事件=新事件();
event.setHeaderReference(新的HeaderReference());
Class classType=Class.forName(Feedname);
列表神话=(列表)(对象)报告对象;
事件。设置有效负载(新有效负载(reportingObject));
event.setSpecifications(list.newArrayList());
返回事件;
}
在方法中,参数Feedname只是类名,现在我想转换它
List<Object> to List<Feedname>
列表到列表
Feedname可以是任何类名
有谁能建议我还能用它做些什么。我看不出这是通过铸造实现的。必须迭代对象集合,将引用传输到T集合。也许你可以使用List.addAll(List List);我现在还没有设置IDE来测试它。如果Feedname可以是任何类,那么您最多只能构建
列表。
您可以这样做:
List<?> mythings = reportingObject.stream()
.map(classType::cast)
.collect (Collectors.toList())
List mythings=reportingObject.stream()
.map(类类型::cast)
.collect(收集器.toList())
那么,如果我提供一个列表,比如说WindowConstants
和字符串JLabel
?简单循环怎么样?对于(objectobj:reportingObject){mythings.add(obj);}我无法使用值“classType”设置类型参数。它在行列表mythings=(列表)(对象)reportingObject上显示错误;Java是强类型语言。可以将dynamics c值用作泛型类型参数。充其量,您可以使用列表。你可以检查我的答案。