При заполнении значений для кластерной (статической) структуры данных/коллекции (в данном случае 2D-массива) обычно лучше сохранять значения непосредственно в статическом, или должна быть создана временная переменная в методе?Создание массивов класса в Java
Чтобы сделать его более ясным:
public class MyClass{
private static int[][] table;
public void setTable(int row, int col){
table = new char[row][col];
// fill table (eg. table[i][j] = 5;)
}
//// OR THIS//////
public void setTable(int row, int col){
int[][] tempTable = new tempTable[row][col];
// fill tempTable
table = tempTable;
}
}
Создание временной переменной чувствует себя излишним и бесполезным здесь. Но есть ли случаи, когда это было бы рекомендовано? Возможность сбоя программы на полпути через выполнение метода и развращение данных? Многопоточные приложения?
Надеюсь, что вопрос не субъективен, просто хочу знать, есть ли что-то неправильное, просто заполнив его напрямую.
Если статический объект может/должен быть изменен, тогда первый способ будет прекрасен. Я предпочитаю это из-за ясности, но это связано с моими предпочтениями, а не с техническими преимуществами. Но если вы хотите, чтобы он оставался неизменяемым, вы должны сделать его «static final int [] [] table = setTable (int, int)» и использовать второй подход. –