【发布时间】:2014-10-03 18:09:01
【问题描述】:
我正在尝试从 Object[][] 创建一个 Object[] 的 ArrayList,执行一些更改,然后通过所做的更改获取一个新的 Object[][]。
但是我得到这个编译错误:
错误:不兼容的类型:Object[] 无法转换为 Object[][]
执行此操作时:
protected Object[][] data;
fillData();
ArrayList dlist= new ArrayList<Object[]>( Arrays.asList(data) ); //NO COMPILE ERROR
Object[] example=new Object[2]; //just to use in toArray()
String [] args= {"new data 1","new data 2"};//yeah just a typo thanks Oscar
dlist.add( args ); //Sending String instead of Object is legal thanks Oscar.
data= dlist.toArray( example ); //COMPILER ERROR incompatible...
我使用了错误的语句,没有编译器错误:
ArrayList dlist= new ArrayList<Object[]>( Arrays.asList(data) );
因为输出是 Object[] 而不是 Object[][] 这是我想要的
感谢您的帮助。
【问题讨论】:
-
List<Object[]> dlist= new ArrayList<Object[]>( Arrays.asList(data) );为我编译。你的具体问题是什么?可能您没有添加必要的导入或其他内容。 -
dlist.add(<whatever>)有效,因为您声明了原始的ArrayList dlist,类似于声明ArrayList<Object> dlist,这意味着您可以在那里存储任何内容。 -
你说的我使用了错误的命令,谢谢你的帮助是什么意思?你的问题解决了吗?
标签: java arrays object arraylist