检查写法是否正确 List<Integer> list = new ArrayList<>(); List<MemberLevel> memberLevels = memberLevelListResp.getMemberLevelList().stream().filter(memberLevel -> memberLevel.getLevel().equals("1")).collect(Collectors.toList()); for (MemberLevel memberLevel : memberLevels) { List<BenefitPackage> packageList = memberLevel.getPackageList(); for (BenefitPackage benefitPackage : packageList) { for (MemberBenefit memberBenefit : benefitPackage.getBenefitList()) { if (memberBenefit.getBenefitNo().equals("RHR041")) { System.out.println("-----" + memberBenefit.getBenefitNo()+"--" + memberBenefit.getBenefitVal()); list.add(Integer.valueOf(memberBenefit.getBenefitVal())); } } } }
时间: 2024-03-14 21:48:42 浏览: 62
List<Bean>转换为List<Map>
你的写法看起来是正确的,对于每个MemberLevel对象,通过getPackageList()方法获取到其对应的所有BenefitPackage对象,然后遍历每个BenefitPackage对象,再遍历每个BenefitPackage对象中的MemberBenefit对象,如果其BenefitNo属性为"RHR041",则将其BenefitVal属性转为Integer类型,并添加到list中。
如果你的list.add()方法没有生效,建议你在循环结束之后,输出一下list的内容,检查一下其中是否包含了你想要加入的元素。如果是空的,那么可能是因为没有符合条件的MemberBenefit对象,或者是因为你的代码没有正确执行到list.add()这一行。
阅读全文