Java 无法将文件转换为文件

Java 无法将文件转换为文件,java,file,type-conversion,classcastexception,Java,File,Type Conversion,Classcastexception,在我将ArrayList转换为对象[]之后。然后我尝试将其转换为一个文件[],该文件抛出一个ClassCastException。当我通过Eclipse调试器运行它时,我看到对象[]包含两个文件对象 List<File> list = new ArrayList<File>(); list.add(new File("foo.bar")); list.add(new File("foo.bar.bar")); Object[] objlist = list.toArray

在我将ArrayList转换为对象[]之后。然后我尝试将其转换为一个文件[],该文件抛出一个ClassCastException。当我通过Eclipse调试器运行它时,我看到对象[]包含两个文件对象

List<File> list = new ArrayList<File>();
list.add(new File("foo.bar")); list.add(new File("foo.bar.bar"));
Object[] objlist = list.toArray();
File[] flist = (File[]) objlist;
Eclipse告诉我:

Name: objlist.[0] Value: java.io.File
Value: objlist.[1] Value: java.io.File
我不明白为什么会发生这种情况。

试试看

File[] flist = list.toArray(new File[list.size()]);

您不能将
对象[]
强制转换为
文件[]


请在类似帖子中阅读更多内容

非常感谢。成功了。这太愚蠢了,你不得不告诉java这个。
File[] flist = list.toArray(new File[list.size()]);
File[] flist = list.toArray(new File[]{});