Groovy ifs - 如何做得更好(将代码从Java重写为Groovy)

时间:2015-08-19 12:25:12

标签: groovy

我们假设我们在java中有这样的代码:

if(A) { return X }
if(B) { return Y }
return Z

如何在groovy中重写它?

我们不能这样写,因为它不起作用。我们也可以这样写:

if(A) {    
   return X
}
else {
 if(B) return Y
 else return Z
}

但它并不优雅。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

可以使用三元运算符完成:

def X = 1
def Y = 2
def Z = 3

def A = null
def B = 1

assert 2 == A ? X : B ? Y : Z

A = 1
B = null

assert 1 == A ? X : B ? Y : Z

A = null
B = null

assert 3 == A ? X : B ? Y : Z