Учитывая 3 переменные (homeNumber, mobileNumber и workNumber), которые могут быть нулевыми, но по крайней мере один из них будет String, мне нужно вернуть массив String, чтобы впоследствии использовать его на Android Диалог. У меня проблемы с этим. Я попытался сделать это в ArrayList и удалить все нулевые элементы, что оставляет ArrayList только с строками, как я хочу, но при попытке изменить его на массив я получаю исключение ClassCast в последней строке.ArrayList для String Array
ArrayList numberList = new ArrayList();
numberList.add(homeNumber);
numberList.add(mobileNumber);
numberList.add(workNumber);
numberList.removeAll(Collections.singleton(null));
final String[] items= (String[]) numberList.toArray();
Любые идеи, как исправить это?
Вы должны проверить I f данные, которые вы добавляете в ваш arraylist, равны нулю, прежде чем вставлять их. Почему вы хотите преобразовать ArrayList в String Array? Почему вы не строите ArrayList? –
Вы не можете передавать не общий ArrayList в массив данного объекта, поскольку он может содержать объекты разных классов. Учитывая тот факт, что это код Android, почему бы не использовать дженерики, как заявил Джереми выше? –