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

Kotlin中如何对函数引用取反?实现列表非包含项过滤

Kotlin中过滤不在另一个列表元素的地道写法
  • 基于函数引用取反的写法
    Kotlin 1.1及以上版本支持对函数引用调用negate()扩展函数,直接取反原谓词逻辑,完美贴合你想用函数引用替代lambda的需求:

    list.filter(otherList::contains::negate)
    

    这里otherList::contains是指向列表contains方法的成员引用,::negate会将其转换为逻辑取反后的谓词函数,实现"元素不在另一个列表中"的过滤逻辑。

  • 更具可读性的惯用写法
    若不执着于函数引用形式,Kotlin提供了语义更直观的集合判断语法,这也是团队协作中更常用的地道写法:

    list.filter { it !in otherList }
    

    it !in otherList是Kotlin判断元素不属于集合的标准写法,逻辑清晰易懂,维护成本更低。

内容的提问来源于stack exchange,提问作者Page not found

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:25:55