我開始與Java 8,我想知道如果我可以將一個循環與try-catch子句轉換爲lambda函數? 下面是方法的代碼,我想轉換爲:使用java的lambda表達式
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;
我不知道你用的是什麼解析器,但不得傳遞*作家*到分析器的時候看起來非常不尋常的...行'日期d =結果。 keySet();'也不太令人信服。而且你完全不清楚resDaysList的結果是從哪裏來的。換句話說,你吐出一些不起作用的代碼,並要求我們將它轉換爲lambda函數。首先,我們不是代碼重寫服務,其次,將其轉換爲lambda函數沒有任何好處。試圖將其轉化爲正確的代碼可以獲得更多回報。 – Holger