我在java工作
我有ArrayList<foo> myList
,我尝试将其转换为数组。
Foo[] myArray = (Foo[])myList.toArray();
在eclipse中我得到的错误对象无法转换为foo。
任何解决方案?我正在尝试使用动态分配的矩阵ArrayList
是不够的,因为我必须应用某些类型。
答案 0 :(得分:3)
Foo[] myArray = myList.toArray(new Foo[myList.size()]);
答案 1 :(得分:1)
我不知道你的意思是什么 matrix ,它通常用来表示一个二维数组,但把它放在一边:如果你只是像这样调用toArray()
,如果没有参数,返回的数组将不是Foo[]
,它将是包含Object[]
个对象的Foo
。您需要使用toArray()
的另一个版本,它允许您提供自己的数组对象,如下所示:
Foo[] myArray = myList.toArray(new Foo[myList.size()]);
答案 2 :(得分:1)
Foo[] myArray = (Foo[])myList.toArray(new Foo[myList.size()]);
答案 3 :(得分:1)
我希望这可能有所帮助。
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> myList = new ArrayList<String>();
String s="hello";
String r="world";
myList.add(s);
myList.add(r);
String[] newList = myList.toArray(new String[0]);
System.out.println(newList[0]+" "+newList[1]);
}
}