私は次のコードを書きました:
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;
}
ご覧のとおり、私は FILE の ArrayList を持っています。次に、返される result.toArray と Object[] 配列を使用しますが、以前は File だったので、3 番目にしようとしているように File にダウンキャストできないのはなぜですかループ内の行?次のエラーが表示されます:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.io.File;
at oop.ex1.filescript.Command.filter(Command.java:50)
at oop.ex1.filescript.Command.run(Command.java:28)
私のオプションは何ですか?