我该如何解决这个问题? Eclipse无法识别此功能:
listFiles(Filter paramFileFilter)
请参阅以下屏幕截图:
答案 0 :(得分:2)
检查FileFilter
的类型;可能性不是java.io.FileFilter
答案 1 :(得分:0)
在这种情况下,请始终检查涉及的方法和参数的import语句。你导入一些x.y.FileFilter的机会很高,但是想要a.b.FileFilter。您可以通过将鼠标悬停在标识符和方法调用上来轻松地进行检查,您将在其中看到完全限定的名称。
当在Eclipse中创建这些导入时使用错误的快速修复时,会发生此错误,因此请务必通过查看工具提示末尾的大括号中的包名称来选择正确的“导入XYZ”快速修复。 / p>
答案 2 :(得分:0)
多年后,但我自己也遇到了同样的问题。我的问题是我创建了一个文件过滤器以与 JFileChooser 一起使用,然后我尝试对 File.listFiles 使用相同的过滤器。问题是有两个不同的类都称为“FileFilter”,或者更确切地说,一个类和一个接口。
JFileChooser 使用 javax.swing.filechooser.FileFilter。 File.listFiles 使用 java.io.FileFilter。
但幸运的是,两者都需要一个签名为 public boolean accept(File f) 的函数。所以解决方案很简单。我将文件过滤器从“扩展 javax.swing.filechooser.FileFilter”更改为“扩展 javax.swing.filechooser.FileFilter 实现 java.io.FileFilter”。然后它适用于两种情况。