Java流:类Java.util.LinkedHashMap不能强制转换为类RealmRole
在我的springboot项目中,我有一个名为 模型 这里我有一个类RealmRole:Java流:类Java.util.LinkedHashMap不能强制转换为类RealmRole,java,spring,spring-boot,stream,java-stream,Java,Spring,Spring Boot,Stream,Java Stream,在我的springboot项目中,我有一个名为 模型 这里我有一个类RealmRole: public class RealmRole { private String id; private String name; public RealmRole() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNam
public class RealmRole {
private String id;
private String name;
public RealmRole() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "RealmRole{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
}
从一个请求中我得到了一个
List<RealmRole>
这会导致以下错误:
消息:无法将类java.util.LinkedHashMap强制转换为类
de.test.userregistration.model.RealmRole
(java.util.LinkedHashMap位于加载程序“bootstrap”的模块java.base中;
de.test.userregistration.model.RealmRole位于的未命名模块中
加载程序“应用程序”)
即使我只是尝试:
realmRoleList.stream().forEach(sout)
我得到了相同的错误
我读过一些问题,但我找不到这个问题的答案。
我已经从pom.xml中删除了devtools,因为我读到这可能会导致类加载器问题。最后使用这个“collect(Collectors.toList()”,将结果转换回列表。你的意思是当你使用
realmRoleList.stream().filter(realmRole->realmRole.getName().equals(“user”)。forEach时会出错吗(System.out::println)
?哦,是的,对不起,我更新了问题您认为您有一个列表
,但实际上您没有。泛型只能在编译时确保类型安全,但我猜在运行时,请求的反序列化并没有像您预期的那样起作用,而不是将请求反序列化到列表
中,您会得到一个列表
取而代之的是:-),但在请求之后,我将创建一个包含实体的有效列表。现在,即使我只执行一个简单的for循环(对于RealmRole RealmRole:realmRoleList),也会发生错误。看起来你是对的,但是名单看起来怎么样?okI解决了它,@Smutje是对的。这仍然让我感到困惑,但响应返回的是RealmRole[],而不是列表,但它在列表中被反序列化,并以同样的方式传递到我的代码中。我已经尝试了这一点,但它在相同的错误中得到了解决。因此,我将流分割开来,看看在某个阶段是否存在问题
realmRoleList.stream().filter(realmRole.getName().equals("user")).forEach(sout)