Come posso utilizzare la variabile non finale in Java 8 lambda. Si getta errore di compilazione dicendo 'data variabile locale definita in un ambito di inclusione deve essere definitiva o effettivamente finale'Come utilizzare la variabile non finale in Java 8 Lambdas
Io in realtà voglio raggiungere il seguente
public Integer getTotal(Date date1, Date date2) {
if(date2 == null || a few more conditions) {
date2 = someOtherDate;
}
return someList.stream().filter(filter based on date1 and date2).map(Mapping Function).reduce(Addition);
}
Come faccio a raggiungere questo obiettivo? Genera errore di comilizzazione per data2. Grazie,
A proposito, le vecchie e fastidiose classi data-ora come ['java.util.Date'] (https://docs.oracle.com/javase/9/docs/api/java/util/Date. html) sono ora [legacy] (https://en.wikipedia.org/wiki/Legacy_system), soppiantati dal [java.time] (https://docs.oracle.com/javase/9/docs/api/ java/time/package-summary.html) classi integrate in Java 8 e 9. Vedi [Tutorial di Oracle] (https://docs.oracle.com/javase/tutorial/datetime/TOC.html). Potresti essere interessato alle classi 'Periodo' e' Durata'. –