добавить строку в массив строк [дубликат]
Возможные Дубликаты:
как добавить новые элементы в массив string []?
Я новичок в Java, поэтому мне нужна небольшая помощь
у меня есть
String [] scripts = new String [] ("test3","test4","test5");
и я хочу добавить новые строки (string1, string2) в этот массив ( скрипты) для примеров
String string1= " test1"
String string2 = "test2"
Я хочу добавить новую строку не в init, а в более поздней фазе
как я могу это сделать ?
5 ответов:
вы не можете изменить размер массива в Java.
Как только размер массива объявлен, он остается фиксированным.
вместо этого вы можете использовать
ArrayList, который имеет динамический размер, то есть вам не нужно беспокоиться о его размере. Если ваш список массивов недостаточно велик для размещения новых значений, то он будет изменен автоматически.ArrayList<String> ar = new ArrayList<String>(); String s1 ="Test1"; String s2 ="Test2"; String s3 ="Test3"; ar.add(s1); ar.add(s2); ar.add(s3); String s4 ="Test4"; ar.add(s4);
во-первых, вот этот код
string [] scripts = new String [] ("test3","test4","test5");должно быть
String[] scripts = new String [] {"test3","test4","test5"};пожалуйста, прочитайте этот учебник о массивы
второе,
массивы имеют фиксированный размер, поэтому вы не можете добавлять новые строки выше массива. Вы можете переопределить существующие значения
scripts[0] = string1;(или)
создайте массив с размером, а затем продолжайте добавлять элементы, пока он не будет заполнен.
Если вы хотите изменить размер массивов, рассмотрите возможность использования ArrayList.
вам нужно будет записать какой-то метод для создания временного массива, а затем скопировать его как
public String[] increaseArray(String[] theArray, int increaseBy) { int i = theArray.length; int n = ++i; String[] newArray = new String[n]; for(int cnt=0;cnt<theArray.length;cnt++) { newArray[cnt] = theArray[cnt]; } return newArray; }или ArrayList было бы полезно решить вашу проблему.
Как и многие из ответов, предлагающих лучшее решение-использовать ArrayList. Размер ArrayList не является фиксированным и легко управляемым.
это изменение размера-реализация массива интерфейса списка. Выполняет все дополнительные операции списка, и разрешения все элементы, включая null. В дополнение к реализации интерфейса List этот класс предоставляет методы для управления размером массива, который используется внутри для хранения списка.
каждый экземпляр ArrayList имеет вместимость. Емкость-это размер массива, используемого для хранения элементов в списке. Это всегда, по крайней мере, как большой, как размер списка. По мере добавления элементов в ArrayList его емкость растет автоматически.
отметьте, что эта реализация не синхронизируется.
ArrayList<String> scripts = new ArrayList<String>(); scripts.add("test1"); scripts.add("test2"); scripts.add("test3");
поскольку массивы Java содержат фиксированное число значений, в этом случае необходимо создать новый массив длиной 5. Лучшим решением было бы использовать ArrayList и просто добавить строки в массив.
пример:
ArrayList<String> scripts = new ArrayList<String>(); scripts.add("test3"); scripts.add("test4"); scripts.add("test5"); // Then later you can add more Strings to the ArrayList scripts.add("test1"); scripts.add("test2");
Comments