У меня есть функция со следующей подписью:java.util.ArrayList не может быть приведен к объекту
class ABC : public static List<ObjectXYZ> getObjectXYZList(Param1 param1)
Я вызываю функцию таким образом:
List<ObjectXYZ> objectXYZ = ABC.getObjectXYZList(param1);
Теперь, в идеале она должна работать, поскольку я назначаю переменную List, возвращаемое значение функции типа List, но я получаю следующую ошибку:
java.lang.ClassCastException: java.util.ArrayList cann ot be cast to com.org.lib.ObjectXYZ
Может кто-нибудь подскажет, что здесь может быть неправильно? Может быть, мне нужно выполнить принудительное кастинг вокруг возвращаемого объекта?
Обновленный код, как MCVE, надеюсь, что это более ясно
java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.someorg.common.ObjectXYZ
// Calling method
List<ObjectXYZ> opaqueVoList = ABC.getObjectList(response);
// Called Method
class ABC {
public static List<ObjectXYZ> getObjectList(Response response)
throws RetryException {
if (some_condition)
List<ObjectXYZ> listObj = new ArrayList<ObjectXYZ>();
//magical stuff
return listObj;
}
}
return null;
}
}
Ошибка не совпадает с размещенным кодом. Отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve). –
Докторский код не помогает в подобных ситуациях, поэтому ваш вопрос и ошибка кажутся неясными. Показать реальный код – Li357
Вы уверены, что используете простой список везде, а не arraylist? –