Всем привет, столкнулся с вот такой вот странной проблемой. Может, что скорее всего так и есть, это связано с тем, что я не до конца правильно или совсем не правильно понимаю принцип работы этого метода.
public class Main {
    public static void main(String[] args) {
        int[][] mas = {{0,0,0,2},{0,0,0,4}};
        int[][] masCopy = mas.clone();


        mas [0][0] = 1;
        System.out.println("mas");
        for (int[] row : mas) {
            for (int value : row) {
                System.out.print(value + " ");
            }
            System.out.println();
        }
        System.out.println("masCopy");
        for (int[] row : masCopy) {
            for (int value : row) {
                System.out.print(value + " ");
            }
            System.out.println();
        }
    }
}
Результат вывода: По идеии, массив 'masCopy', должен стоять особняком и изменения в массиве 'mas', на него влиять не должны. Но происходит нечто иное и я не могу понять причину.