-4
我有如下签名的函数:的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不会投到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
你确定你在任何地方都使用一个简单的列表而不是一个数组列表吗? –