2
String someMethod(def columnOne, int number, columnName){
     return columnOne + '-' + number + "${ -> (columnName == '') ?: '-' + columnName}"
}

そして私がそれを呼び出すとき:

someMethod('one', 2, '')

次の結果が得られます。

one-2true

クロージャーが返されるのにorが返さtrueれない理由''-somehting

4

2 に答える 2

4

ここでは elvis は必要ありませんが、次のような通常の 3 項は必要です。

(columnName ? '-'+columnName : '')

x ?: yElvis は=>の略で、thenx ? x : yの結果はcolumnName==''単に istrueであり、これが印刷されます。

于 2015-04-16T14:35:24.513 に答える