我有以下问题。在目录结构中,抽象类FSElement
由其子类Directory
和File
扩展。
每个Directory
都有一个LinkedList<FSElement> children
来填充各自的子文件和目录。
在我的问题中,我只想用LinkedList<Element> subDirs
中的目录填充children
,但是.add()
只允许添加FSElement
。
如何将此FSElement
投射到Directory
并将其添加到链接列表中?任何帮助表示赞赏。
public class Directory extends FSElement {
// Fields
private LinkedList<FSElement> children;
public FileSystem fileSystem;
private LinkedList<Directory> subDirs;
[...]
public LinkedList<Directory> getSubDirectories(){
for(int i=0; i < children.size(); i++) {
if(children.get(i).isDirectory()) {
this.subDirs.add(children.get(i)); // ERROR occurs here
}
return this.subDirs;
}
}
}