Java 列表<;地图>;反对[]

Java 列表<;地图>;反对[],java,list,object,casting,Java,List,Object,Casting,我有这个演员 List<Map> headers = (List<Map>) responseMap.get("headers"); 但是我有 java.util.ArrayList cannot be cast to [Ljava.lang.Object; 我该怎么投 List<Map> to Object[]? 列表到对象[]? 使用Windows和JDK1.6可以将列表转换为对象[],如下所示 List<Object> list =

我有这个演员

List<Map> headers = (List<Map>) responseMap.get("headers");
但是我有

java.util.ArrayList cannot be cast to [Ljava.lang.Object;
我该怎么投

List<Map> to Object[]?
列表到对象[]?

使用Windows和JDK1.6

可以将
列表
转换为
对象[]
,如下所示

List<Object> list = //List of Objects
Object[] array = list.toArray(new Object[0]);

您可以将
列表
转换为
对象[]
,如下所示

List<Object> list = //List of Objects
Object[] array = list.toArray(new Object[0]);

你不能。但是,
List
接口提供了
toArray()
方法。因此:

Object[] rows = responseMap.get("data").toArray();

你不能。但是,
List
接口提供了
toArray()
方法。因此:

Object[] rows = responseMap.get("data").toArray();

Cast有一个特定的含义:如果一个对象被声明为a但实际上是B,那么您可以将它转换为B。但这意味着B扩展了a(B是a-a)。没有数组是列表,没有列表是数组(这就解释了)。您的意思是转换,这意味着您需要执行一些计算或处理。强制转换有一个特定的含义:如果一个对象被声明为a但实际上是B,您可以将其强制转换为B。但这意味着B扩展了a(B是-a)。没有数组是列表,没有列表是数组(这就解释了)。你的意思是转换,这意味着你需要执行一些计算或处理。你应该指出,这不是将
List
转换为
Object[]
@ReyCharles:是的,完成了!你应该指出,这不是将
List
转换为
Object[]
@ReyCharles:是的,完成了!