请帮助我理解,以下代码显示类型不匹配:for语句中的“无法从元素类型对象转换为列表”。我知道我想念一些愚蠢的东西。请帮忙。

public void setMapPriceValue(SolrItemVO solrItemVO, ArrayList proce1) throws SolrDAOException
{
    List xcatentAttrList = (List<Xcatentattr>) proce1.get(0);

    solrItemVO.setMapPrice(-1); // setting default value

    for(List  xcatentattr : xcatentAttrList){

        if(xcatentattr.get(0) == 33)

                solrItemVO.setMapPrice(xcatentattr.get(1));

                solrItemVO.setMapPriceVal(xcatentattr.get(2));

        }

}

最佳答案

如果您要输入内容,请尝试保持输入状态

List<Xcatentattr> xcatentAttrList = (List<Xcatentattr>) proce1.get(0);

solrItemVO.setMapPrice(-1); // setting default value

for(Xcatentattr  xcatentattr : xcatentAttrList){

    if(xcatentattr.get(0) == 33)

            solrItemVO.setMapPrice(xcatentattr.get(1));

            solrItemVO.setMapPriceVal(xcatentattr.get(2));

    }
}


那么答案可能会更清楚;)

for循环的类型为Xatentattr。您正在遍历该类型的列表。

查看此link以获得有关for-each循环的更多信息

09-08 01:38