【初心者向け】Javaのプログラミング~Arraysクラス「配列の比較」~

Java

どうも、シュウです。
今回は、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クラス「配列の比較」に関しては、ここまでです。
皆さんのお役に立てると嬉しいです。
最後まで読んでいただきありがとうございました。

コメント

PAGE TOP
タイトルとURLをコピーしました