È una delle funzionalità più discusse pianificate per Java: Closures. Molti di noi hanno desiderato ardentemente loro. Alcuni di noi (incluso I) sono diventati un po 'impazienti e si sono rivolti a linguaggi di scripting per colmare il vuoto.
Ma una volta che sono finalmente arrivate le chiusure a Java: come avranno effetto sulla Java Community? L'avanzamento dei linguaggi di scripting con targeting per VM rallenterà la scansione, rimarrà lo stesso o accelera? Le persone affolleranno la nuova sintassi di chiusura, trasformando così le basi di codice Java a 360 ° in implementazioni più strutturate dal punto di vista funzionale? Vedremo solo chiusure sparse in Java per tutto? Quale sarà l'effetto sul supporto strumento / IDE? Che ne dici di prestazioni? E infine, cosa significherà per la continua adozione di Java, come lingua, rispetto ad altre lingue che stanno crescendo in popolarità?
Per fornire un esempio di una delle specifiche della sintassi Java Closure più recenti proposte:
public interface StringOperation {
String invoke(String s);
}
// ...
(new StringOperation() {
public invoke(String s) {
new StringBuilder(s).reverse().toString();
}
}).invoke("abcd");
potrebbe diventare ...
String reversed = {
String s =>
new StringBuilder(s).reverse().toString()
}.invoke("abcd");
[fonte: http://tronicek.blogspot.com/2007/12/closures-closure-is-form-of-anonymous_28.html]