Java错误:Java.lang.Object;无法强制转换为MyCustomClass
我有以下代码Java错误:Java.lang.Object;无法强制转换为MyCustomClass,java,arraylist,casting,Java,Arraylist,Casting,我有以下代码 private List<MyCustomClassVO> copyMyCustomClassList(List<MyCustomClass> fromList) { for (MyCustomClass myCustomClassObj : fromList) { } } private List copyMyCustomClassList(List fromList){ 对于(MyCustomClass myCustomClassOb
private List<MyCustomClassVO> copyMyCustomClassList(List<MyCustomClass> fromList) {
for (MyCustomClass myCustomClassObj : fromList) {
}
}
private List copyMyCustomClassList(List fromList){
对于(MyCustomClass myCustomClassObj:fromList){
}
}
现在我得到一个错误
错误:java.lang.Object;无法强制转换为MyCustomClass
这是针对(MyCustomClass myCustomClassObj:fromList)
我刚刚调试并检查了列表中的fromList
。它设置了MyCustomClass
中定义的所有变量。但在调试中,它将fromList
类型显示为Vector
,列表中的每个成员都显示为typeObject[]
如何解决此问题?
fromList
在运行时似乎肯定是List
。由于泛型被删除,列表
被分配给fromList
,这是列表
,没有任何问题。但是对于对象
被转换为MyCustomClass
您所能做的最好的事情就是检查
fromList
是如何填充的您的方法可能会被称为这样的方法
List objectsList = new ArrayList();
objectsList.add(new Object());
objectsList.add(new Object());
objectsList.add(new Object());
List<MyCustomClassVO> voList = copyMyCustomClassList(objectsList);
List objectsList=new ArrayList();
添加(新对象());
添加(新对象());
添加(新对象());
List voList=copyMyCustomClassList(objectsList);
您需要确保传递给该方法的列表包含类型为
MyCustomClassVO
或其子类的元素。尝试将类型为Object的objectDataList转换为MyCustomClass的列表,如下方法所示
ArrayList<MyCustomClass> mylist = (ArrayList<MyCustomClass>) (Object) objectDataList;
for (MyCustomClass myCustomClassObj : mylist) {
System.out.println("myCustomClassObj : " + myCustomClassObj);
}
ArrayList mylist=(ArrayList)(Object)objectDataList;
用于(MyCustomClass myCustomClassObj:mylist){
System.out.println(“myCustomClassObj:+myCustomClassObj”);
}
出于某种原因,我看不出有错误。你能告诉我,你调用这个方法的确切方式以及传递给它的参数是什么吗?我调用这个方法的方式是copyMyCustomClassList(responseList.get(0).getRecords()),现在responseList实际上是在执行一个命名查询后填充的。有2名成员;长期记录;并列出记录;添加更多的代码,以明确您要执行的操作。我看到了不完整。