def nullString = "String is NOT null"
def check = (nullString != null) ? nullString : "String is null"
def check2 = nullString ? nullString : "String is null"
def check3 = nullString ?: "String is null"
println check
println check2
println check3
告诉我,如果我错了,但上面这三个三元语句都应该做同样的事情,即如果nulString不为null,则打印出“String is not null”。如果nullString为null,则打印出“String is null”。
我认为你们都同意,如果我初始化一个像 nullString =“”这样的变量,它就不是空的。仅仅因为“”不是空的。
但是当用 nullString =“”测试上面的代码时,只有第一个打印出“String is not null”。另外两个将“”解释为null。这是为什么?
(抱歉我的英文,我希望你明白我想说的)
答案 0 :(得分:9)
答案 1 :(得分:1)
默认情况下,空字符串的计算结果为false,计算结果为true:
assert !""