int[]配列のequalsをオーバーライドしたいと思います。次のことが当てはまるように
int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(a.equals(b));
それを行う方法はありますか?
int[]配列のequalsをオーバーライドしたいと思います。次のことが当てはまるように
int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(a.equals(b));
それを行う方法はありますか?
equals
のメソッドをオーバーライドすることint[]
は不可能であり、必要でもありません。必要な機能は、 Arrays.equals(int[], int[])を使用して実現できます。
int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(Arrays.equals(a, b));
配列はJavaの低レベルの構造であるため、サブレーザーを作成できないため、メソッドをオーバーライドすることはできません。ただし、配列の代わりにjava.util.Listを使用できます。最新のJREは、配列とリストの両方で同じパフォーマンスを示します。
配列の equals を直接オーバーライドすることはできません。配列は Java のプリミティブ コンストラクトであり、配列に作用するメソッドや演算子をオーバーライドすることはできません。
配列の代わりに sを使用することを検討する必要ArrayList
があります - ArrayLists は、equals()
探しているように機能する実装を提供します (リストに新しい要素を追加する機能など、配列にはない他の多くの便利な機能と同様に)。