Codegym University コースの一部としてのメンターによる講義の抜粋。フルコースにお申し込みください。
「 Java での変数の比較について少し説明したいと思います。 」
「最も単純な比較演算子、より小さい (<) とより大きい (>) はすでにご存知でしょう。」
「はい。」
「等しい (==) や等しくない (!=) などの演算子もあります。また、以下 (<=) や以上 (>=) もあります。」
「今度は面白くなってきました。」
「Java には =< または => 演算子がないことに注意してください。」
" = 記号は代入演算に使用されます。 そのため、等しいかどうかをテストするために 2 つの等号 (==) が使用されます。変数が等しくないことを確認するには、!=演算子を使用します。
"そうか。"
「Java で == 演算子を使用して 2 つの変数を比較する場合、変数の内容を比較していることになります。」
「したがって、プリミティブ変数の場合、その値が比較されます。」
「参照変数の場合、参照が比較されます。同一であるが別個のオブジェクトがあるとします。それらへの参照が異なるため、比較するとそれらが等しくないことがわかります。つまり、比較結果はfalseになります。参照の比較はtrueになります。」両方の参照が同じオブジェクトを指している場合のみ。」
「オブジェクトの内部内容を比較するには、特別なequalsメソッドを使用します。このメソッド(およびObjectクラスのすべてのメソッド)は、宣言していなくてもコンパイラによってクラスに追加されます。いくつかの例を示します: 」
コード | 説明 | |
---|---|---|
1 |
|
プリミティブ型を比較します。 trueと画面に表示されます。 |
2 |
|
参照を比較します。 trueと画面に表示されます。どちらの変数も同じオブジェクトへの 参照を保存します。 |
3 |
|
参照を比較します。 trueと画面に表示されます。どちらの変数も同じオブジェクトへの 参照を保存します。 |
4 |
|
参照を比較します。 falseと画面に表示されます。 2 つの変数は同一の Cat オブジェクトを参照しますが、同じものではありません。 |
5 |
|
参照を比較します。 falseと画面に表示されます。 2 つの変数は同一の String オブジェクトを参照しますが、同じものではありません。 |
6 |
|
オブジェクトを比較します。 trueと画面に表示されます。 2 つの変数は同一の String オブジェクトを参照します |
「ああ、忘れるところでした!ここでいくつかの演習をご紹介します。」
GO TO FULL VERSION