Hallo Coder-Freunde,
meine Freundin hat in einer Übung für die Uni folgende Java-Aufgabe zu lösen:
// ähnlich java.io.File.listFiles(), gibt aber nicht ein Array sondern ein Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt
public static Filez create(File directory);
Folgendes haben wir bisher gemacht:
class Filez {
public Filez() {
this.list = new ArrayList<File>();
}
public static Filez create(File directory) { // File directory ist ein Objekt mit dem Pfad zum zu durchsuchenden Verzeichnis.
//List<File> list = new ArrayList<File>();
File[] filesAndDirs = directory.listFiles();
// Daten aus Array werden zu Liste hinzugefügt
for(int i = 0; i < filesAndDirs.length; i++) {
list.add(i, filesAndDirs[i]);
System.out.println(i + ": " + list.get(i));
}
return XXXXX; // Hier hängt's... wie soll eine Liste als Filez-Objekt zurückgegeben werden?
}
}
Mir persönlich erschließt sich die Formulierung "[... gibt ein] Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt" nicht. Wie soll eine Methode als Returnwert ein Filez-Objekt vom Typ list zurückgeben?
Wir stehen hier auf dem Schlauch, bitte Hilfe!
UPDATE:
Antwort, falls jemand ein ähnliches Problem hat: Konstruktor erstellen!
public Filez() {} oder public Filez(List<File> attrList) { this.list = attrList; }
Return von create() ist dann das gesamte Objekt.