任何人都可以解释一下这个错误发生了ClassCastException:java.util.ArrayList不能转换为java.lang.String吗?下面是我为获取数据而编写的代码
List<AdsOnUIRenderdata> ren2 = AdsOnUIRenderdata.find("select distinct a.appName from AdsOnUIRenderdata a").fetch();
long ads=0;
for(int i =0;i<ren2.size();i++)
{
ads =AdsOnUIRenderdata.count("userFeedback='INTERESTED' and appName =?",ren2.get(i).appName );
}
在上面的代码中我首先从数据库中获取appname并再次基于该appname我正在查询。所以,任何人都可以解决这个问题。
答案 0 :(得分:0)
您的查询返回String集合,而不是AdsOnUIRenderdata集合。
在这种情况下,要么更改查询以选择整个类,请执行以下操作:
List<AdsOnUIRenderdata> ren2 = AdsOnUIRenderdata.find("select distinct a from AdsOnUIRenderdata a").fetch();
或者您更改收到查询结果的集合,如下所示:
List<String> ren2 = AdsOnUIRenderdata.find("select distinct a.appName from AdsOnUIRenderdata a").fetch();