我正在尝试从 REST 响应将 jsonObjects 加载到对象实体中,但是当我尝试将抽象对象数组转换为真实对象时,出现异常:EntityAbstract[] 无法转换为 Feed[]
Feed
扩展了 EntityAbstract
,因此它们属于同一个系列,当我调试返回的实体时,它们是 Feed 的实例,而不是 EntityAbstract - 所以我不明白为什么不允许我进行转换。
这是强制转换方法声明(返回值)
public EntityAbstract[] fetchEntities (Class entityClass) throws Exception
{}
当我检索我尝试的实体时;
for (Feed feed : (Feed[]) ((NewsService) service).getResponse().fetchEntities(Feed.class))
{}
这会引发异常。我应该做什么才能提示正确的返回数组?
最佳答案
抽象类元素的数组无法转换为特定类型的数组,但您可以根据需要转换各个元素:
for (EntityAbstract af : (EntityAbstract[]) ((NewsService) service).getResponse().fetchEntities(Feed.class)) {
Feed feed = (Feed)af;
...
}
关于java - 无法将抽象类转换为实际对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404931/