1

そのため、テキストブックでこのコード行を見てしまいましたが、それがどのように機能するかはよくわかりません。このスニペットは関数で何を意味しますか? nullでない場合にのみget関数を返すということですか?しかし、もしそうなら、関数は return ステートメントを持たない可能性がありますか?

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()が null でない場合、ブール値を返します。

それ以外の場合は、値を返しますfalse

以下と同じです。

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

短く書くだけです。

于 2013-09-17T00:40:54.557 に答える
1

ブール値の tail.get() != null が評価される前に、tail.get() への呼び出しの結果が評価されます。この呼び出しは何らかの値を返すか、null の可能性があります。

問題の関数は、tail.get() が何らかのインスタンスを返した場合は true を返し、tail.get() が null を返した場合は false を返します。

于 2013-09-17T00:43:13.423 に答える