Что будет напечатано в результате выполнения данного кода?

import java.util.Arrays;
class ArraysComparing {
    public static void main(String...args) {
        int[] i1[] = {{1,2,3}, {0,0,0}};
        int[][] i2 = {{1,2,3}, {0,0,0,}};
        int[][] i3 = new int[2][3];
        System.arraycopy(i1, 0, i3, 0, i3.length);
        System.out.println(Arrays.equals(i1, i2));
        System.out.println(Arrays.equals(i1, i3));
        System.out.println(Arrays.deepEquals(i1, i2));
    }
}
Explanation
В массивах i1 и i2 ссылки на вложенные массивы разные, поэтому первый equals вернет false.
Во втором случае ссылки будут одинаковыми, соответственно true.
В третьем случае производится сравнение элементов, все одинаковы, поэтому true

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes