1

リストは空にすることができます。やりたいこと:

def value = "";
def list = getList()
if (!list.isEmpty()){
   value = list.first().foo 
}

たとえば、私はこの方法を見つけました:

assert ( [].find()?.foo?:"empty" ) == "empty"
assert ([[foo:"notEmpty1"], [foo:"notEmpty2"]].find()?.foo?:"empty") == "notEmpty1"

より良い方法はありますか?

ありがとう!:)

編集:

を使用して素晴らしい答えを得ました[0]

assert ( [][0]?.foo?:"empty" ) == "empty"
assert ([[foo:"notEmpty1"], [foo:"notEmpty2"]][0]?.foo?:"empty") == "notEmpty1"
4

2 に答える 2

0

Listお試しだけなら

if (!list?.isEmpty()){
    list.get(0);
}

リスト要素を null にできない場合は、必要ありません?

コレクションの場合、それを取得するためのフォームがいくつかあります。この投稿を見てください

Java: コレクションから最初のアイテムを取得する

于 2013-03-08T15:45:56.427 に答える
0

ツイッターから返事が来ました。ステートメント:

def value = "";
def list = getList()
if (!list.isEmpty()){
   value = list.first().foo 
}

書くことができます:

def value = list[0]?.foo?:""

findリストに null 値を含めることができる場合に使用できます

于 2013-03-09T07:48:12.183 に答える