Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java错误:Java.lang.Object;无法强制转换为MyCustomClass_Java_Arraylist_Casting - Fatal编程技术网

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
,列表中的每个成员都显示为type
Object[]


如何解决此问题?

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名成员;长期记录;并列出记录;添加更多的代码,以明确您要执行的操作。我看到了不完整。