1 2 3 4 5 6 7 8 9 10 11 12 |
class ChallengeP134 { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); if(p1 == p2) { System.out.println("p1とp2は等しいです"); } else { System.out.println("p1とp2は等しくありません"); } } } |
このプログラムの実行結果は、
p1とp2は等しくありません
と表示されます。
つまり、p1 == p2 の結果はfalseとなります。
これを解説すると、変数p1もp2もPersonクラスの参照型となっています。この場合だと、比較して等しくなるのは、それぞれが同じオブジェクトを参照している場合に限られます。
変数p1とp2はそれぞれオブジェクトを生成していますので、結果として別々のオブジェクトを参照しています。
よって、p1とp2を比較すればfalseとなります。
最近のコメント