我正在使用java。
我有一个ArrayList<foo> myList
,我尝试将其转换为数组。来自阵列列表的Java动态矩阵
Foo[] myArray = (Foo[])myList.toArray();
在eclipse中,我得到的错误对象不能转换为foo。
任何解决方案?我试图使用动态分配的矩阵,因为我必须应用某种类型,所以ArrayList
是不够的。
我正在使用java。
我有一个ArrayList<foo> myList
,我尝试将其转换为数组。来自阵列列表的Java动态矩阵
Foo[] myArray = (Foo[])myList.toArray();
在eclipse中,我得到的错误对象不能转换为foo。
任何解决方案?我试图使用动态分配的矩阵,因为我必须应用某种类型,所以ArrayList
是不够的。
Foo[] myArray = myList.toArray(new Foo[myList.size()]);
我不知道你的矩阵,它通常用来指一个二维数组,但撇开这一边的意思:如果你只需要调用toArray()
这样的,不带任何参数,该返回的数组不会是Foo[]
,它将是包含您的Foo
对象的Object[]
。您需要使用的toArray()
其他的版本,可以让你提供你自己的数组对象,像这样的一个:
Foo[] myArray = myList.toArray(new Foo[myList.size()]);
由矩阵我的意思是矢量,对不起 –
我希望这可以帮助。
import java.util.ArrayList;
公共类主要{
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]);
}
}
'myList.toArray(新的Foo [0])'是足够 –
当然是不够的。但是有了它,将会创建空数组,并测试它不适合并创建另一个适合的数组。什么为这个空阵列?为了减少非性能关键位置的代码量? –