我怎样才能解决这个问题?Eclipse 无法识别此功能:
listFiles(Filter paramFileFilter)
请参阅以下屏幕截图:
检查类型FileFilter
;很可能不是java.io.FileFilter
在这种情况下,请始终检查相关方法和参数的导入语句。很有可能您导入了一些 xyFileFilter,但想要 abFileFilter。您可以通过将鼠标悬停在标识符和方法调用上最轻松地进行检查,您将在其中看到完全限定的名称。
此错误主要发生在在 Eclipse 中创建这些导入时使用错误的快速修复,因此请确保通过查看工具提示末尾大括号中的包名称来选择正确的“导入 XYZ”快速修复。
许多年后,但我自己也遇到了同样的问题。我的问题是我创建了一个与 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”。然后它适用于两种情况。