1

我正在处理一个简单的草图(一种java),并使用这段代码扫描一个文件夹中的jpgs。我希望能够将它用作函数,所以我可以像这样使用它:

String[] images;

void setup() {
  images = scanForJpgs();
}


String[] scanForJpgs() {
  // set target folder
  java.io.File folder = new java.io.File(dataPath(""));

  // set filter (which returns true if file's extension is .jpg)
  java.io.FilenameFilter jpgFilter = new java.io.FilenameFilter() {
    boolean accept(File dir, String name) {
      return name.toLowerCase().endsWith(".jpg");
    }
  };

  // list files in target folder, passing the filter as parameter
  String[] filenames = folder.list(jpgFilter);

  return filenames;
}

但它会引发“无法降低从 FilenameFilter 继承的方法的可见性”错误。我该如何解决这个问题,以便我可以像使用函数一样使用它?

4

1 回答 1

2

声明方法public而不是包私有:

public boolean accept(File dir, String name) {

阅读:控制对类成员的访问

于 2013-10-28T20:22:26.697 回答