добавить строку в массив строк [дубликат]




Возможные Дубликаты:
как добавить новые элементы в массив string []?






Я новичок в Java, поэтому мне нужна небольшая помощь



у меня есть



String [] scripts = new String [] ("test3","test4","test5");


и я хочу добавить новые строки (string1, string2) в этот массив ( скрипты) для примеров



String string1= " test1"
String string2 = "test2"


Я хочу добавить новую строку не в init, а в более поздней фазе



как я могу это сделать ?

391   5  

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

    Ничего не найдено.