Мне было просто интересно узнать - почему Arrays.equals(double [] [], double [] []) возвращает false? когда на самом деле массивы имеют одинаковое количество элементов, и каждый элемент один и тот же?
Например, я выполнил следующий тест.
double[][] a, b;
int size =5;
a=new double[size][size];
b=new double[size][size];
for( int i = 0; i < size; i++ )
for( int j = 0; j < size; j++ ) {
a[i][j]=1.0;
b[i][j]=1.0;
}
if(Arrays.equals(a, b))
System.out.println("Equal");
else
System.out.println("Not-equal");
Возвращает false и печатает "Неравномерно".
с другой стороны, если у меня есть что-то вроде этого:
double[] a, b;
int size =5;
a=new double[size];
b=new double[size];
for( int i = 0; i < size; i++ ){
a[i]=1.0;
b[i]=1.0;
}
if(Arrays.equals(a, b))
System.out.println("Equal");
else
System.out.println("Not-equal");
возвращает true и печатает "Equal". Работает ли этот метод только с отдельными измерениями? если да, то что-то подобное для многомерных массивов в Java?