重複の可能性:
Javaとは何ですか?:演算子が呼び出され、それは何をしますか?
こんにちは私は休閑中のコードを理解するのにいくつか問題があります、誰かが私がこれを手に入れるのを手伝ってくれるでしょうか?
private Comparable elementAt( BinaryNode t ) {
return t == null ? null : t.element;
}
t == null ? null : t.element;
どういう意味かわかりません。
重複の可能性:
Javaとは何ですか?:演算子が呼び出され、それは何をしますか?
こんにちは私は休閑中のコードを理解するのにいくつか問題があります、誰かが私がこれを手に入れるのを手伝ってくれるでしょうか?
private Comparable elementAt( BinaryNode t ) {
return t == null ? null : t.element;
}
t == null ? null : t.element;
どういう意味かわかりません。
return t == null ? null : t.element;
意味
if (t==null)
return null;
else
return t.element;
http://en.wikipedia.org/wiki/%3F:#Javaも参照してください。
NullPointerException
これは、大文字と小文字t
がnullの場合を回避する標準的なイディオムです。その場合、要素を取得するために間接参照する代わりに、を返すだけnull
です。
これはNPEを延期するだけなので、悪いイディオムであると主張する人もいますが、正確な状況によっては、それが必要なものになる可能性があります。
その三項演算子(この場合はnullをチェック)、if/elseステートメントの代わりに三項を使用できます