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
相关产品推荐
相关产品推荐

