Другой способ преобразовать ArrayList, содержащий Strings, в массив Strings в Java?

1

Я проверил следующий источник stackoverflow, чтобы решить мою проблему:

qaru.site/questions/10844/...

но при применении верхнего решения я все равно получаю сообщение об ошибке:

Мой список определен здесь:

List linhaInicial = new ArrayList();

Мое конвертирование сделано здесь:

String[] convertido = linhaInicial.toArray(new String[linhaInicial.size()]);

Проблема в том, что я до сих пор получаю следующую ошибку:

Error:(86, 59) java: incompatible types
required: java.lang.String[]
found:    java.lang.Object[]

Мое преобразование как-то все еще возвращает Object[] когда теперь должно возвращаться String[].

Любые решения?

Благодарю!

  • 4
    Вы знаете, что предупреждение компилятора вы проигнорировали? Тот о сырых типах? Может быть, вы не должны были игнорировать это ...
  • 0
    Также не используйте linhaInicial.toArray(new String[linhaInicial.size()]); just linhaInicial.toArray(new String[]);
Показать ещё 2 комментария
Теги:
string
arrays
arraylist
type-conversion

4 ответа

5
Лучший ответ

Не используйте необработанные типы !

List linhaInicial = new ArrayList();

должно быть

List<String> linhaInicial = new ArrayList<>();
2

Изменить:

List linhaInicial = new ArrayList(); // can contain any Object. 
             //So compiler throws an error while converting an Object to String.

в

List<String> linhaInicial = new ArrayList<String>(); // using Generics ensures
                          //that your List can contain only Strings, so, compiler
                            //will not throw "incompatible types" error
1

Вы должны изменить

List linhaInicial = new ArrayList(); // you are using raw type List

к

List<String> linhaInicial = new ArrayList();// you have to use String type List
1

Всегда пытайтесь включить тип элемента списка в ваше объявление:

List<String> linhaInicial = new ArrayList<String>();

Избегайте необработанных типов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню