java - 在 Java 中循环遍历列表

标签 java oop jakarta-ee

请帮助我理解,下面的代码在 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);

您还可以考虑在方法签名中使用正确的泛型类型(我假设 proce1 是列表的列表):

public void setMapPriceValue(SolrItemVO solrItemVO, List<List<Xcatentattr>> proce1)

在这种情况下,您不再需要类型转换:

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

然后增强 for 循环的语法是 for (TypeOfObjectInYourList object : list),所以在您的情况下:

for(Xcatentattr xcatentattr : xcatentAttrList)

关于java - 在 Java 中循环遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748113/

相关文章:

java - 如何将2048位的BigInteger分解成固定数量的64位的字?

php - 如何让 PHP 类在其构造函数中实例化另一个类?

java - 使用 JSON-B 反序列化 JSON 数组

jakarta-ee - 将 ear 文件转换为 war 文件的最佳实践

jakarta-ee - 您可以在 Web 应用程序的 Context.xml 文件中声明非原始对象吗?

java - 枚举 toString 上的 ClassCastException

java - 如何通过 RMI 传递输入流

java - sql语法错误(使用jSTL标签)

oop - 在实现依赖注入(inject)的时候,应该注入(inject)异常吗?

Python 面向对象 : functions from a dictionary do not affect class instance variables