0

重複の可能性:
Javaとは何ですか?:演算子が呼び出され、それは何をしますか?

こんにちは私は休閑中のコードを理解するのにいくつか問題があります、誰かが私がこれを手に入れるのを手伝ってくれるでしょうか?

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

t == null ? null : t.element;どういう意味かわかりません。

4

3 に答える 3

5

return t == null ? null : t.element;意味

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

http://en.wikipedia.org/wiki/%3F:#Javaも参照してください。

于 2012-11-09T13:15:17.030 に答える
3

NullPointerExceptionこれは、大文字と小文字tがnullの場合を回避する標準的なイディオムです。その場合、要素を取得するために間接参照する代わりに、を返すだけnullです。

これはNPEを延期するだけなので、悪いイディオムであると主張する人もいますが、正確な状況によっては、それが必要なものになる可能性があります。

于 2012-11-09T13:15:44.520 に答える
1

その三項演算子(この場合はnullをチェック)、if/elseステートメントの代わりに三項を使用できます

于 2012-11-09T13:15:55.737 に答える