Groovy里有一种操作符叫Elvis运算符,可以简化Java里的二元操作符。如果我们需要在某个值是空或false时指定一个默认值时,使用Elvis运算符会使表达式更简洁。这里的false判断遵循Groovy的Truth判定方法:把null,空字符串,空集合视为false。
例如:
至于为什么叫Elvis运算符,是因为'?:'跟一个叫Elvis的摇滚明星(猫王)的发型很像。
[img]http://dl2.iteye.com/upload/attachment/0085/4146/a150961c-2cc4-3641-88e3-4954cc5090ff.gif[/img]
例如:
def sampleText
// Java里的二元运算符(Groovy里也通用).
def ternaryOutput = (sampleText != null) ? sampleText : 'Hello Groovy!'
// 下面是使用Elvis运算符的例子, 意思是: 如果sampleText不为空会空字符串,
// 则把sampleText赋给elvisOutput,否则把'Viva Las Vegas!'赋给elvisOutput.
def elvisOutput = sampleText ?: 'Viva Las Vegas!'
至于为什么叫Elvis运算符,是因为'?:'跟一个叫Elvis的摇滚明星(猫王)的发型很像。
[img]http://dl2.iteye.com/upload/attachment/0085/4146/a150961c-2cc4-3641-88e3-4954cc5090ff.gif[/img]