如何在java中修复匿名内部类

时间:2015-10-22 00:55:48

标签: java anonymous-class

下面的代码是一个匿名的内部类,当我在NetBeans上运行它时,它可以工作,但是当在Unix中编译时,它会创建一个$ 1的类。

有没有办法修复此代码以便在unix中成功编译?

    File directory = new File("/SAMPLE");
    File files[] = directory.listFiles(new FileFilter() {
      @Override
      public boolean accept (File pathname) {
          String name = pathname.getName();
          return name.startsWith("S") && pathname.isFile();
      }
    }

  );

谢谢。

1 个答案:

答案 0 :(得分:1)

  

但是在Unix中编译时,它会创建$ 1的类。

正在编译,这是一个匿名内部类的编译方式。此外,这不是类Unix系统上的有效文件路径。您可以使用File.listRoots()来获取跨平台的根目录。像

这样的东西
File directory = new File(File.listRoots()[0],"SAMPLE");

在类Unix系统上,这将代表" / SAMPLE"。