そのため、テキストブックでこのコード行を見てしまいましたが、それがどのように機能するかはよくわかりません。このスニペットは関数で何を意味しますか? nullでない場合にのみget関数を返すということですか?しかし、もしそうなら、関数は return ステートメントを持たない可能性がありますか?
return (tail.get() != null);
あなたの声明
return (tail.get() != null);
ただ
return (booleanExpression);
ブール式はtail.get() != null
です。この式を考えることで評価でき、コンパイラは論理的に評価します。tail.get()
null でない場合は単に trueを返し、それ以外の場合は false を返します。
true
メソッド呼び出しから返された値tail.get()
が null でない場合、ブール値を返します。
それ以外の場合は、値を返しますfalse
。
以下と同じです。
if (tail.get() != null)
return true;
else return false;
短く書くだけです。
ブール値の tail.get() != null が評価される前に、tail.get() への呼び出しの結果が評価されます。この呼び出しは何らかの値を返すか、null の可能性があります。
問題の関数は、tail.get() が何らかのインスタンスを返した場合は true を返し、tail.get() が null を返した場合は false を返します。