2016-03-07 5 views
0

В моей основной метод, который я имею следующую команду:Добавление нескольких элементов в строку []

if (args.length == 0) // if no command line argument is given 
    args.addAll(Arrays.asList("Hello","world"); // error 

И есть ошибка говорит:

Не может вызывать addAll() на тип массива String [ ]

Как добавить несколько элементов к args?

+0

Вы упускаете кронштейн закрыть 'args.addAll (' – shrmn

ответ

4

Думаю, вы не можете так поступать. Чтобы добавить элементы в массив (не ArrayList или другие коллекции), создайте новый массив и скопируйте элементы в старый массив и элементы для добавления.

В этом случае, вы можете просто присвоить новый массив с элементами по умолчанию, как это:

if (args.length == 0) // if no command line argument is given 
    args = new String[]{"Hello","world"}; 
1

Функция, которую вы пытаетесь вызвать, используется объектами List, а не массивами. Если вы хотите работать со списком, который легче использовать, когда речь идет о добавлении данных, попробуйте:

List<String> list = new ArrayList<String>(Arrays.asList(args)); 
list.addAll(Arrays.asList("Hello","world")); 

Этот метод не будет их ни на что. если вы хотите добавить их только в том случае, если ags пуст, тогда используйте

if (args.length == 0) // if no command line argument is given 
{ 
    List<String> list = new ArrayList<String>(Arrays.asList(args)); 
    list.addAll(Arrays.asList("Hello","world")); 
} 
+0

На самом деле, это не будет работать [. Arrays.asList] (https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#asList-T...-) возвращает список *, поддерживаемый * массивом, вы не может добавить к нему или удалить из него. Но вы можете сделать 'new ArrayList (Arrays.asList (args))'. Также [Collections.addAll] (https://docs.oracle.com/javase/8/docs /api/java/util/Collections.html#addAll-java.util.Collection-T...-) является предпочтительным над addAll (Arrays.asList (...)). – VGR

+0

О, хорошо, редактируем это. об этом, и это как-то не показало ошибок в моей IDE, спасибо –

+0

Я принимаю решение Майка, так как он не требует дополнительного объекта «Список », но спасибо. –

Смежные вопросы