应用 PathProperties 后的 ClassCastException

Posted

技术标签:

【中文标题】应用 PathProperties 后的 ClassCastException【英文标题】:ClassCastException after applying PathProperties 【发布时间】:2017-06-21 13:00:02 【问题描述】:

我正在尝试将一些 PathProperties 应用到我的 Finders 但我不断收到此错误:

[ClassCastException: java.util.ArrayList 无法转换为 com.avaje.ebean.bean.BeanCollection]

只有当我在我的PathProperties 中调用List<...> 时才会发生这种情况:

PathProperties pathProperties = PathProperties.parse("(*,historique(*))");
List<Devi> test = Devi.find.apply(pathProperties).findList();

我的Finder 是这样定义的:

public static Finder<String,Devi> find = new Finder<String,Devi>(Devi.class);

在这里,对象Devi 充满了公共变量,我可以毫无问题地调用它们(PathProperties "(*)" 有效),但是当我尝试访问该对象内的对象列表时(这里, public List&lt;Histo&gt; historique),它不起作用。我试过了,我也可以访问对象中的对象,只要它不是列表。

我有点迷路了,我不知道我做错了什么。

【问题讨论】:

能否将 Devi.java 添加到您的问题中? 该文件太大了,我无法在此处附加。你到底在寻找什么? 分享更多关于Devi.find.apply(pathProperties).findList();的信息 什么意思? PathPropertiesFinder 如上所述。 【参考方案1】:

根据https://github.com/ebean-orm/ebean/issues/591 的说法,这是初始化ArrayList 时触发的bug。如果没有初始化,它显然可以工作。

【讨论】:

好吧,我没有在这里初始化任何 ArrayList :/

以上是关于应用 PathProperties 后的 ClassCastException的主要内容,如果未能解决你的问题,请参考以下文章

myaql功能封装代码及封装后的测试

Google Clas-s-room Pub/Sub 注册返回 403 身份验证错误

为啥我在使用 Google Clas-s-room API 时会收到 404 错误?

Spark的二次排序

public clas和class的区别

Google Clas-s-room API - 权限被拒绝