Prima di Java 8, la funzionalità lambda poteva essere ottenuta utilizzando classi interne anonime. Per esempio:Differenza di prestazioni tra Java 8 lambdas e classi interne anonime
interface Lambda {
void doStuff();
}
// ...
public void doWithCallback(Lambda callback) {
// ...
callback.doStuff();
}
// ...
doWithCallback(new Lambda {
public void doStuff() {
// ...
}
});
In termini di prestazioni, v'è una differenza tra ancora utilizzando questo approccio e con il nuovo Java 8 lambda?
Perché non creare semplici calcoli utilizzando la Data per ciascun approccio? – MGorgon
Ti spiace espandersi su cosa sia una "chiusura Java 8"? Almeno basato su [questo] (https://stackoverflow.com/questions/17204279/does-java-8-support-closures) domanda che una cosa del genere non sembra esistere ... – awksp
@ user3580294 Probabilmente, anche anonimo le classi interne creano chiusure, anche se in un contesto (variabile) vincolante immutabile. Si potrebbe obiettare che Haskell non ha chiusure dovute all'immutabilità delle associazioni ..? Ma, in ogni caso ["Lambda Expressions"] (http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html) sarebbe probabilmente più chiaro nel contesto. – user2864740