我需要在java中显示静态文件夹层次结构。我已经定义了一个文件夹类,必须使用相同的文件夹类。不允许使用File
类!类文件夹为:
class Folder
{
boolean isFile;
String folderName;
List<Folder> subFolders;
}
我尝试使用的代码是:
class LisF
{
public static void main(String args[])
{
Folder a=new Folder("C:/hello");
Folder b=new Folder("C:/one");
Folder c=new Folder("C:/two");
a.subFolders.add(b);
b.subFolders.add(c);
Iterator itr = a.subFolders.iterator();
Iterator itr1= b.subFolders.iterator();
while(itr.hasNext()) {
Object element = itr.next();
//System.out.print("The list is "+(Folder)element.putFName());
System.out.println("The lis is "+element);
}
}
}
它运行并给出输出作为Folder@1234这无疑给出了对象的名称。但是我需要传递的字符串的名称,即显示hello的子文件夹,它应该显示一个,一个的子文件夹应该显示两个!但相反,我正在获取对象名称!!!
您应该在您想要/需要的类中实现 toString
方法,以便将对象打印为 String
s。在这种情况下,您需要在 Folder
类中实现它:
class Folder {
//class definition...
@Override
public String toString() {
//implementation sample
return this.folderName;
}
}