Groovy方法类似于LINQ的DefaultIfEmpty和FirstOrDefault

前端之家收集整理的这篇文章主要介绍了Groovy方法类似于LINQ的DefaultIfEmpty和FirstOrDefault前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Groovy是否有任何类似于LINQ中的DefaultIfEmpty或FirstOrDefault方法方法(开箱即用)?

解决方法

DefaultIfEmpty可以包含在:

def list = []
def defaultIfEmpty = list ?: [ 'was empty' ]

FirstOrDefault比较复杂,因为我相信如果列表中没有第一个元素,它会返回给定类型的默认值…但是,在Groovy中(如它所示),没有办法检测对象的默认类型(除非它是原生类型)

你可以这样做:

Integer defaultIfEmpty = list[ 0 ] ?: 0

但是应该注意到elvis运算符?:在Groovy truth上工作,所以如果运算符左边的元素在Groovy中评估为false(无论是null,空列表或字符串,数字0等),它将返回右侧)

还应该注意的是,我不是.NET专家,因此这两个函数功能可能不正确.

猜你在找的Groovy相关文章