Ich beginne mit Java 8 und ich frage mich, ob ich eine Schleife mit einer Try-Catch-Klausel in eine Lambda-Funktion konvertieren kann? Unten ist die Methode Code Ich mag würde in konvertieren:Verwenden Sie Java Lambda-Ausdrücke
for (File f: files) {
JSONOject obj;
try (FileWriter fw= new FileWriter("path.csv")) {
obj= (JSONObject) parser.parse(new FileWriter(f));
readOBJ(valueType,results,obj);
results.put(day, new JobClass(day,work, time,description));
Date d= results.keySet();
Calendar c= Calendar.getinstance();
c.setTime(d);
Map<Date, JobClass> daysList= new HashMap<>();
j.insertDaysList(results,c,fw,daysList);
results.putAll(daysList);
j.resSort(results,resDayList);
} catch (IOException ex) {
e.printStacktrace();
}
}
return resDaysList;
Ich weiß nicht, was Parser Sie verwenden, aber ein * Schriftsteller * an einen Parser vorbei sieht sehr ungewöhnlich ... Die Linie 'Datum d = Ergebnisse. keySet(); 'sieht auch nicht sehr überzeugend aus. Und es ist völlig unklar, woher das Ergebnis 'resDaysList' kommt, von dem du kommst. Mit anderen Worten, Sie spucken etwas nicht funktionierenden Code aus und bitten uns, ihn in eine Lambda-Funktion umzuwandeln. Erstens sind wir kein Dienst zum Umschreiben von Code, zweitens gibt es keinen Vorteil bei der Umwandlung in eine Lambda-Funktion. Der Versuch, es in richtigen Code umzuwandeln, könnte sich mehr lohnen. – Holger