どうも、シュウです。
今回は、Arraysクラスを使った配列の比較について解説していきたいと思います。
では、早速やっていきましょう。
Arraysクラスを使った配列の比較
早速問題です。
var fruits1 = new String[]{“りんご”, “みかん”, “バナナ”};
var fruits2 = new String[]{“りんご”, “みかん”, “バナナ”};
System.out.println(fruits1 == fruits2);
こちらの結果はtrueでしょうか、それともfalseでしょうか。
答えは、falseです。
なぜ?と思った方は下記のリンクで説明をしていますので、ご確認下さい。
https://every-learnings.com/2021/09/14/equals
equalsを使った場合はどうでしょうか。
var fruits1 = new String[]{“りんご”, “みかん”, “バナナ”};
var fruits2 = new String[]{“りんご”, “みかん”, “バナナ”};
System.out.println(fruits1.equals(fruits2));
こちらの結果はtrueでしょうか、それともfalseでしょうか。
答えは、falseです。
equalsは配列で使用することができません。
では、配列の比較は何を使うかというと、Arraysクラスのequalsを使います。
実際に確認して見ましょう。
配列比較ができており、結果はtrueになりました。
しかし、Arraysクラスのequalsにも欠点はあります。
1次元配列の比較ならできますが、2次元配列や3次元配列など入れ子になっている配列では対応できません。
下記のようにfalseとなります。
そこで、ArraysクラスのdeepEqualsメソッドを使用します。
こちらを使用すると、入れ子の配列の比較ができます。
下記のように入れ子の配列比較をしたところ、trueになっていることがわかります。
まとめ
配列の比較には、ArraysクラスのEqualsメソッドを使用します。
しかし、入れ子の配列では比較ができなので、ArraysクラスのdeepEqualsメソッドを使用します。
Arraysクラス「配列の比較」に関しては、ここまでです。
皆さんのお役に立てると嬉しいです。
最後まで読んでいただきありがとうございました。
コメント