Расширенный цикл for

225
05 ноября 2018, 16:30

Почему board заполняется, если row — это переменная, которая только копирует значение элемента board?

import org.apache.commons.lang3.ArrayUtils;
static char[][] board = new char[10][10];
public static void buildEmptyBoard(){
    for(char[] row : board)
        Arrays.fill(row, '*');
}
Answer 1

В Java массивы - это объекты, т.е. ссылочные типы. char[] row - ссылка на одномерный массив, который ссылается на ячейку в board.

Следовательно, меняя row, вы меняете элементы в board.

Если вам нужна копия массива, используйте Arrays.copyOf() или System.arraycopy().

READ ALSO
Проблема с клиентом вебсервиса на Java

Проблема с клиентом вебсервиса на Java

Прошу помощи у сообществаВозникла следующая проблема

217
ExceptionHandler: 404 вместо ожидаемой возвращаемой сущности

ExceptionHandler: 404 вместо ожидаемой возвращаемой сущности

У меня есть Exception, который я и написал:

205
Поиск слова по первой букве java

Поиск слова по первой букве java

Есть ли в java возможность по первой букве находить из массива/текстового документа слово? К примеру , в текстовом документе есть слова

207
Проблема с вводом данных в EditText

Проблема с вводом данных в EditText

В прокуте есть страница что получает с базы переменные, которые указывают какие View элементы должны быть созданы програмно, через кодНа телефонах...

177