在python中,我可以做到以下几点:
return x or y
或
my_function(x or y)
如果x != null
或不为空将返回或通过x
其他y
。
我的问题:
有一种方法可以在java中缩短然后再使用
return x == null ? y : x
或
myFunction(x == null ? y : x)
答案 0 :(得分:1)
我相信三元方法是最有效和最短的。但是,如果您想进一步缩短范围,可以根据具体情况创建一个通用的静态或非静态方法来验证这两个对象。然后只返回经过验证的方法,而不是三元条件。例如,像这样的东西。
//usage
Employee valid(Employee x, Employee y) {
return v(x,y);
}
//generic method for validation
<T> T v(T o1, T o2) {
return o1==null?o2:o1;
}
答案 1 :(得分:0)
好的,我认为您想要做的是从
传递结果值x == null? y:x
作为函数的参数。
我在Stack Overflow上发现了这个: Short IF - ELSE statement。 也许这会有所帮助。
简而言之:myFunction(x == null?y:x);应该工作正常。