Моя Java-программа ниже отображает все элементы в ArrayList, когда я использую статический метод System.out.println. Однако он отображает только один элемент в ArrayList, когда я возвращаю список в методе. Я буду признателен за некоторые указания о том, что я делаю неправильно:
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileProcessor {
static List<String> theList = null;
/**
*
* @return List
*/
public static List<String> processFiles() {
try {
File f = new File("/Data/fileDump");
String[] listOfFiles = f.list();
for(String eachFile: listOfFiles) {
if(eachFile.startsWith("hawk") == true) {
theList = new ArrayList<>();
theList.add(eachFile);
return theList;
}
}
} catch(Exception e) {
e.printStackTrace();
}
return theList;
}
public static void main(String[]args) {
List<String> dataList = FileProcessor.processFiles();
for(String strg: dataList) {
if(strg != null) {
System.out.println(strg);
}
}
}
}