【问题标题】:Java simple code line explanation needed [duplicate]需要Java简单代码行解释[重复]
【发布时间】:2012-10-29 19:34:07
【问题描述】:

可能重复:
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; 是什么意思。

【问题讨论】:

  • gefei 有问题,我没有问方法声明,否则我会指定的。投票应该不止于此。
  • 感谢您的帮助尝试,但其他人已经帮助了我。

标签: java


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢。现在很清楚了。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 谢谢我会检查这个'三元运算符':)。 gl
    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2014-09-14
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多