2

int[]配列のequalsをオーバーライドしたいと思います。次のことが当てはまるように

int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(a.equals(b));

それを行う方法はありますか?

4

4 に答える 4

5

equalsのメソッドをオーバーライドすることint[]は不可能であり、必要でもありません。必要な機能は、 Arrays.equals(int[], int[])を使用して実現できます。

int[] a = {1,2,3};
int[] b = {1,2,3};
System.out.println(Arrays.equals(a, b));
于 2012-09-06T03:37:01.987 に答える
2

配列はJavaの低レベルの構造であるため、サブレーザーを作成できないため、メソッドをオーバーライドすることはできません。ただし、配列の代わりにjava.util.Listを使用できます。最新のJREは、配列とリストの両方で同じパフォーマンスを示します。

于 2012-09-06T03:24:31.863 に答える
0

配列の equals を直接オーバーライドすることはできません。配列は Java のプリミティブ コンストラクトであり、配列に作用するメソッドや演算子をオーバーライドすることはできません。

配列の代わりに sを使用することを検討する必要ArrayListがあります - ArrayLists は、equals()探しているように機能する実装を提供します (リストに新しい要素を追加する機能など、配列にはない他の多くの便利な機能と同様に)。

于 2012-09-06T03:45:41.733 に答える