需要Java简单的代码行说明

时间:2012-11-09 13:14:28

标签: java

  

可能重复:
  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;的含义。

3 个答案:

答案 0 :(得分:5)

return t == null ? null : t.element;表示

if (t==null)
  return null;
else
  return t.element;

另见http://en.wikipedia.org/wiki/%3F:#Java

答案 1 :(得分:3)

如果NullPointerException为空,这是一个标准习惯用法,可以避免t。在这种情况下,它不是取消引用它来获取元素,而只返回null

有些人认为这是一个不好的习惯因为它只推迟了NPE,但是,根据具体情况,它可能正是人们所需要的。

答案 2 :(得分:1)

它是一个三元运算符(在这种情况下检查null),可以使用ternarys代替if / else语句