次の演算子に代わるものがあるかどうか疑問に思っていました:
if (f == 0){
System.out.print("");
} else if (i %2 == 1){
System.out.print("; ");
}
より明確にするために、if ステートメントの "==" と else if ステートメントの%2 == 1
.
ありがとう。
System.out.print(f!=0 && i%2==1 ? "; " : "");
モジュロの代わりに、ビットごとの and によって、最後のビットを除く i のすべてのビットにフラグを立てることができます。
の代替i%2
は ですi&1
。
Equals 演算子==
は、オブジェクトの場合は参照を比較し、プリミティブ型の場合は実際の値を比較します。
この演算子を置き換えることができるシナリオはequals(Object obj)
、プリミティブ型のラッパー オブジェクトが使用される場合です。
したがって、 と が 2 つint
ありa
、b
それらのラッパーを次のように取得する場合:
Integer objA = Integer.valueOf(a);
Integer objB = Integer.valueOf(b);
a == b
と同じ結果が得られobjA.equals(objB)
ます。