Использование java, есть ли способ установить определенные значения в массиве как статические/неизменяемые? Я пытаюсь сделать игру в судоку, поэтому я хочу, чтобы начальные номера были установлены так, чтобы программа не могла их изменить, а остальные числа были изменены. До сих пор я делал некоторые поисковые запросы, но ни один из моих поисков не привел какую-либо соответствующую информацию.Установка значений массива статическим
2
A
ответ
2
Вы должны скрыть массив, сделав его приватным. И никогда не возвращайте ссылку на массив, а возвращайте клон.
например.
public class ArrayHolder {
private String[] array;
public ArrayHolder(String[] inputArray) {
//make a copy of inputArray
//assign the reference to the copy to this.array
}
public String[] getArray() {
//make a copy of the array
//return the reference to the copy
}
}
Насколько сделать некоторые элементы обновляемыми, вы должны написать метод (ы) мутатора в классе, так что только те методы могут изменить некоторые элементы в массиве.
Смежные вопросы
- 1. Powershell: Установка значений фильтрованного массива
- 2. Эффективная установка всех значений массива в ноль
- 3. Установка значений для многомерного массива undefined
- 4. jQuery: установка значений флажка из массива
- 5. Установка значений двумерного массива с помощью кода
- 6. Установка значений массива Numpy при индексировании индексированного массива
- 7. C++ Установка значений динамически создаваемого массива не выполняется
- 8. Установка и извлечение значений из массива с флажками в PHP
- 9. Javascript: установка всех значений массива на то же самое
- 10. Установка целого числа, равного количеству значений внутри массива
- 11. Установка значений массива в строке в Google Таблицах
- 12. Установка значений для элементов 2D-массива определенного пользователем размера
- 13. Получение и установка значений объекта 2D-массива (C++)
- 14. Установка диапазона значений (MySQL)
- 15. Динамическая установка значений свойств
- 16. Установка значений унаследованных свойств
- 17. JSTL установка значений переменных
- 18. Установка нечисленного списка значений
- 19. Класс со статическим классом массива в C++
- 20. Delphi Использование 2d-массива, определенного статическим массивом
- 21. Установка числовых значений для карты значений
- 22. Установка значений одиночных значений с помощью YamlDotNet
- 23. установка размера массива
- 24. Установка массива целых указателей
- 25. Установка массива внутри структуры
- 26. Установка значения внутри массива
- 27. Установка индекса пустого массива
- 28. объект Установка ключей массива
- 29. установка нулевых значений в массиве numpy
- 30. Установка длинного массива. Отсутствующие данные
Это больше подходит для вашего класса. Просто защитите данные с помощью методов доступа. – vikingsteve
Это невозможно с массивами, но вы можете создать свой собственный класс и убедиться, что некоторые поля не могут быть отредактированы. – Ankit
Невозможно отметить любые или все элементы массива как «только для чтения». Лучшее, что вы можете сделать, это «скрыть» массив за вызовом метода. Вы можете использовать 'final' в ссылке на массив, но это просто сделает его (вроде) невозможным для изменения того, на какой массив ссылаются - это не будет препятствовать модификации массива. –