如上所述here:
我们将对象及其方法(或属性)调用与逻辑连接起来 AND运算符(&&),因此仅在对象为时才调用该方法 真实的(不是空的)。这种技术通常称为'andand'。
在Ruby中,我们能够做到这一点:
name = @person && @person.name
这样我们就不必明确检查@person
是否为空。
java中是否有类似的技术?
答案 0 :(得分:5)
答案 1 :(得分:4)
尝试ternary operator
但是它与&&
技术不太相似,但只是这样。
person != null ? peson.name : <default name>
答案 2 :(得分:2)
不,只有在检查字符串时,您才能通过反转比较顺序来实现此目的。
而不是
if (role != null && role.equals("admin"))
你会写
if ("admin".equals(role))
答案 3 :(得分:0)
Java确实有short-circuit evaluation。问题是Java不假设null
等同于false
(而不是null - 相当于true
)。