LitePal在Kotlin中使用的一个小问题

Android App需要使用本地数据库,以前都是自己用android Sqlite原生代码实现。

前不久看同事使用LitePal库,发现挺好用的,就直接拿过来用,懒得自己再写代码了。

然后使用LitePal.where方法查询时,抛出异常:

org.litepal.exceptions.LitePalSupportException: java.util.List has no constructor. LitePal could not handle it

我有点摸不着头脑,网上搜了搜也没有结果。虽然每一句话我都懂,但就是不明白它在说什么!

我的实体里面包含一个泛型集合属性,List这样的字段,我知道问题肯定是这个集合型的属性有关,但我就搞不懂什么叫“list没有构造器,LitePal不能处理它”!

谁说List没有构造器了?

这是上周五下午出的问题,烦恼了一下午。然后今天周一上班,下午才想起这个问题,仍然没有头绪。

就突然想起Java里面List好像是抽象类,确实没有构造器!这明明白白是LitePal试图用反射创建抽象类的对象时,抛出的异常。

无论是C#还是kotlin,我都习惯了用List,真的是想不起来还有这回事。

改成ArrayList就完事了。

你可能感兴趣的:(kotlin,开发语言,android)