4

Groovyには、LINQにあるDefaultIfEmptyまたはFirstOrDefaultメソッドに似たメソッド(すぐに使用できる)がありますか?

4

1 に答える 1

3

DefaultIfEmptyでカバーすることができます:

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

FirstOrDefaultリストに最初の要素がない場合は、特定のタイプのデフォルト値を返すと思うので、注意が必要です...ただし、Groovy(現状)では、オブジェクトのデフォルトタイプを検出する方法はありません(ただし、ネイティブタイプです)

あなたができること:

Integer defaultIfEmpty = list[ 0 ] ?: 0

ただし、Groovyの真理elvis operator ?:に作用することに注意してください。したがって、Groovyで演算子の左側の要素がfalseと評価された場合(空のリストまたは文字列、数値0など)、右側が返されます。側)null

また、私は.NETの専門家ではないため、これら2つの機能の機能が正しくない可能性があることにも注意してください。

于 2012-04-19T10:24:09.273 に答える