1

所以我最终在我的教科书中看到了这行代码,我不确定它是如何工作的。这个片段在函数中意味着什么?这是否意味着它只会返回不为空的get函数?但如果是这样,那么函数将有机会没有返回语句?

return (tail.get() != null);
4

3 回答 3

8

你的陈述

return (tail.get() != null);

只是

return (booleanExpression);

布尔表达式在哪里tail.get() != null。你可以通过思考来评估这个表达式,编译器会在逻辑上进行。如果tail.get()不为 null,它将简单地返回 true,否则将返回 false。

于 2013-09-17T00:42:06.307 回答
7

true如果方法调用返回的值tail.get()不为空,则返回布尔值

否则它将返回值false

它与以下内容相同:

if (tail.get() != null)
  return true;
else return false;

这只是一种更短的写法。

于 2013-09-17T00:40:54.557 回答
1

在评估 boolean tail.get() != null 之前,评估调用 tail.get() 的结果。此调用将返回一些值或可能为 null。

如果 tail.get() 返回某个实例,则相关函数返回 true,如果 tail.get() 返回 null,则返回 false。

于 2013-09-17T00:43:13.423 回答