可能重复:
什么是 Java ?: 运算符,它有什么作用?
您好,我在理解休闲代码时遇到了一些问题,有人可以帮我解决这个问题吗?
private Comparable elementAt( BinaryNode t ) {
return t == null ? null : t.element;
}
我不明白什么t == null ? null : t.element;
意思。
可能重复:
什么是 Java ?: 运算符,它有什么作用?
您好,我在理解休闲代码时遇到了一些问题,有人可以帮我解决这个问题吗?
private Comparable elementAt( BinaryNode t ) {
return t == null ? null : t.element;
}
我不明白什么t == null ? null : t.element;
意思。
return t == null ? null : t.element;
方法
if (t==null)
return null;
else
return t.element;
这是一个标准的习惯用法,可以避免 a NullPointerException
in caset
为 null。在这种情况下,它不会取消引用来获取元素,而是返回null
.
有些人认为这是一个不好的习惯用法,因为它只会推迟 NPE,但是,根据具体情况,它可能正是人们所需要的。
它是一个三元运算符(在这种情况下检查 null),可以使用三元来代替 if/else 语句