应用 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<Histo> historique
),它不起作用。我试过了,我也可以访问对象中的对象,只要它不是列表。
我有点迷路了,我不知道我做错了什么。
【问题讨论】:
能否将 Devi.java 添加到您的问题中? 该文件太大了,我无法在此处附加。你到底在寻找什么? 分享更多关于Devi.find.apply(pathProperties).findList();
的信息
什么意思? PathProperties
和 Finder
如上所述。
【参考方案1】:
根据https://github.com/ebean-orm/ebean/issues/591 的说法,这是初始化ArrayList 时触发的bug。如果没有初始化,它显然可以工作。
【讨论】:
好吧,我没有在这里初始化任何 ArrayList :/以上是关于应用 PathProperties 后的 ClassCastException的主要内容,如果未能解决你的问题,请参考以下文章
Google Clas-s-room Pub/Sub 注册返回 403 身份验证错误