You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala嵌套Seq集合筛选报错:List[Banner]不存在height成员如何解决

错误原因

  • 变量名冲突:filter匿名函数的入参命名为c,和外层定义的国家筛选参数c = "UK"重名,函数作用域内的c会优先指代当前遍历的Campaign对象,c.country == c逻辑完全失效。
  • 类型调用错误:Campaign的banners字段是List[Banner]集合类型,不是单个Banner实例,不能直接调用.height、.width属性。

修复代码

根据实际需求二选一即可:

场景1:筛选出「国家符合,且至少存在1个符合宽高要求的Banner」的Campaign

val filteredList = myList.filter { camp =>
  camp.country == c && camp.banners.exists(banner => banner.width == w && banner.height == h)
}

场景2:筛选出「国家符合,且所有Banner都符合宽高要求」的Campaign

val filteredList = myList.filter { camp =>
  camp.country == c && camp.banners.forall(banner => banner.width == w && banner.height == h)
}

你给出的样例数据运行场景1的代码,会正确返回国家为UK、Banner宽高匹配的第二条Campaign记录。

内容的提问来源于stack exchange,提问作者Vakindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:54:03