当前位置: 首页 > 知识库问答 >
问题:

需要 Java 简单的代码行解释 [重复]

柴禄
2023-03-14

可能的重复:
Java是什么?:运算符叫什么,它做什么?

你好,我在理解下面的代码时遇到了一些问题,有人能帮我弄到吗?

private Comparable elementAt( BinaryNode t ) {
    return t == null ? null : t.element;
}

我不明白t==null? null:t.element;是什么意思。

共有3个答案

漆雕嘉平
2023-03-14

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

狄河
2023-03-14

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

一些人认为这是一个糟糕的习语,因为它只会推迟NPE,但是,根据具体情况,这可能正是人们所需要的。

左丘宜年
2023-03-14

返回 t == 空 ? 空 : t.元素;方法

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

参见http://en.wikipedia.org/wiki/?:#Java

 类似资料:
  • 我正在尝试将xml解析为java对象,我已经阅读并实现了以下教程: http://www.vogella.com/articles/JAXB/article.html(效果很好) 但是当我创建自己的类时(类似于教程中的类) 我得到:异常在线程"main"com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsExcema: 1计数的Illega

  • 我实现了一个非常简单的递归方法,将两个数相乘在一起。我很难理解递归的基本知识。 有没有人能向我解释(如果可能的话,逐行解释)这段代码是如何工作的?我尤其感到困惑的是,基大小写被写为返回0,而实际上返回的是实际的乘法。 谢谢你的帮助

  • 我有这两种方法。我理解“getTotalSalary”一词,但并不真正理解“getAverageSalary(获取平均工资)”的写作方式。我不明白为什么在结尾处使用问号和冒号以及“(size()!=0)”和0。 这是编码: empReg 是 ArrayList 的名称。员工是一个由“姓名”和“薪水”组成的阶级。getSalary 显然是一种返还薪水的方法。

  • 操作系统: Windows 7 JDK: 1.8.0_05 我正在学习一些简单的RMI教程,包括Oracle的“计算”示例(Compute)。启动我的服务器不需要代码库,对类似问题的回答是“代码库是可选的”然而,我的服务器无法注册远程对象,除非它的接口位于某个代码库中。 我确保我的计算接口是可用的Web服务器上运行localhost,启动注册表服务器像这样: 一切正常: 但是如果我从Web服务器的