尝试在java中将对象向下转换为文件
我写了下一段代码:尝试在java中将对象向下转换为文件,java,arraylist,downcast,Java,Arraylist,Downcast,我写了下一段代码: private ArrayList<File> filter() { ArrayList<File> result = _filters.get(0).buildTree(_dir.listFiles()); for (int i=1; i<_filters.size(); i++){ File[] tempDir = result.toArray(); result = _filters.g
private ArrayList<File> filter() {
ArrayList<File> result = _filters.get(0).buildTree(_dir.listFiles());
for (int i=1; i<_filters.size(); i++){
File[] tempDir = result.toArray();
result = _filters.get(0).buildTree(tempDir);
}
return result;
}
我的选择是什么?问题在于阵列的强制转换。不带参数的toArray创建对象数组,因为列表的类型信息在运行时丢失 改变
File[] tempDir = result.toArray();
到
问题是数组的类型转换。不带参数的toArray创建对象数组,因为列表的类型信息在运行时丢失 改变
File[] tempDir = result.toArray();
到
File[] tempDir = result.toArray(new File[result.size()]);