0

我需要在 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 的子文件夹,它应该显示一个,一个的子文件夹应该显示两个!但相反,我得到了对象名称!!!!

4

1 回答 1

0

您应该toString在您想要/需要将对象打印为Strings 的类中实现该方法。在这种情况下,您需要在Folder类中实现它:

class Folder {

    //class definition...

    @Override
    public String toString() {
        //implementation sample
        return this.folderName;
    }
}
于 2012-11-29T06:14:14.103 回答