Java: Closures için planlanan en çok konuşulan özelliklerden biridir. Birçoğumuz onları özlüyoruz. Bazılarımız (ben dahil) biraz sabırsızlandık ve boşluğu doldurmak için senaryo dillerine yöneldik.
Ancak, kapanışlar sonunda Java'ya ulaştığında: Java Topluluğunu nasıl etkileyecekler? VM hedefli komut dosyası dillerinin ilerlemesi yavaş yavaş taranacak mı, aynı mı kalacak, yoksa mı olacak? İnsanlar yeni kapatma sözdizimine akın edecek, böylece Java kod tabanlarını daha işlevsel olarak yapılandırılmış uygulamalara dönüştürecek mi? Java'da yalnızca kapakların serpildiğini görecek miyiz? Araç / IDE desteğine etkisi ne olacak? Performans nasıl? Ve son olarak, Java'nın popülerlikte yükselen diğer dillerle karşılaştırıldığında, dil olarak sürekli benimsenmesi ne anlama geliyor?
En son önerilen Java Closure sözdizimi özelliklerinden birine örnek vermek için:
public interface StringOperation {
String invoke(String s);
}
// ...
(new StringOperation() {
public invoke(String s) {
new StringBuilder(s).reverse().toString();
}
}).invoke("abcd");
olacaktı ...
String reversed = {
String s =>
new StringBuilder(s).reverse().toString()
}.invoke("abcd");
[kaynak: http://tronicek.blogspot.com/2007/12/closures-closure-is-form-of-anonymous_28.html]