Ini adalah salah satu fitur yang paling banyak dibicarakan yang direncanakan untuk Java: Penutupan. Banyak dari kita telah merindukan mereka. Beberapa dari kita (termasuk saya) telah menjadi sedikit tidak sabar dan beralih ke bahasa scripting untuk mengisi kekosongan.
Tetapi, begitu penutupan akhirnya tiba di Jawa: bagaimana pengaruhnya terhadap Komunitas Jawa? Apakah kemajuan bahasa scripting VM-ditargetkan lambat untuk merangkak, tetap sama, atau acclerate? Akankah orang berbondong-bondong ke sintaks penutupan baru, sehingga mengubah basis kode Java all-around menjadi implementasi yang lebih terstruktur secara fungsional? Apakah kita hanya akan melihat penutupan di seluruh Jawa? Apa efeknya pada dukungan alat / IDE? Bagaimana dengan kinerja? Dan akhirnya, apa artinya bagi adopsi lanjutan Java, sebagai bahasa, dibandingkan dengan bahasa lain yang semakin populer?
Untuk memberikan contoh salah satu spesifikasi sintaksis Java Closure yang diusulkan terbaru:
public interface StringOperation {
String invoke(String s);
}
// ...
(new StringOperation() {
public invoke(String s) {
new StringBuilder(s).reverse().toString();
}
}).invoke("abcd");
akan menjadi ...
String reversed = {
String s =>
new StringBuilder(s).reverse().toString()
}.invoke("abcd");
[sumber: http://tronicek.blogspot.com/2007/12/closures-closure-is-form-of-anonymous_28.html]