可能重复:
What is the Java ?: operator called and what does it do?
你好,我在理解这些代码时遇到了一些问题,有人可以帮我解决这个问题吗?
private Comparable elementAt( BinaryNode t ) {
return t == null ? null : t.element;
}
我不明白t == null ? null : t.element;
的含义。
答案 0 :(得分:5)
return t == null ? null : t.element;
表示
if (t==null)
return null;
else
return t.element;
答案 1 :(得分:3)
如果NullPointerException
为空,这是一个标准习惯用法,可以避免t
。在这种情况下,它不是取消引用它来获取元素,而只返回null
。
有些人认为这是一个不好的习惯因为它只推迟了NPE,但是,根据具体情况,它可能正是人们所需要的。
答案 2 :(得分:1)
它是一个三元运算符(在这种情况下检查null),可以使用ternarys代替if / else语句