使用列表数据类型java显示文件夹列表

时间:2012-11-29 06:12:14

标签: java list arraylist

我需要在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,毫无疑问它给出了对象的名称。但我需要传递的字符串的名称,即显示你好的子文件夹,它应该显示一个,子文件的一个应该显示两个!但相反,我得到了对象名称!!!!

1 个答案:

答案 0 :(得分:0)

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

class Folder {

    //class definition...

    @Override
    public String toString() {
        //implementation sample
        return this.folderName;
    }
}