Я знаю, что вы не можете динамически расширять нормальный массив, но является ли это правильным способом?
public int size = 0;
public String[] OrigArray = new String[size+1];
public void expand(){
String[] tempArray = new String[size+1];
tempArray = (String[])OrigArray.clone();
OrigArray = new String[size+1];
OrigArray = (String[])tempArray.clone();
size++;
}
Я знаю гораздо лучшие методы, чем пытаюсь использовать обычный массив, но я хотел бы это понять, просто используя обычный массив.
Мое желание состоит в том, что он начинается с OrigArray
, равным 0 + 1 (так 1), и когда expand()
вызывается, создается новый tempArray
, который имеет тот же размер, что и OrigArray
, и тогда это выполняется OrigArray
, а OrigArray
снова объявляется с помощью size+1
, затем tempArray
копируется обратно в новый размер OrigArray
. Это имеет смысл для меня, но я все время ухожу из связанного исключения?