Java 7 tendrá cierres (finalmente), y me pregunto cómo se usará ahora el código existente que usa clases/interfaces de métodos únicos (como Runnable, Comparator, etc.).¿Cómo van a ser reemplazadas/aumentadas las interfaces por los cierres en Java?
¿Se debería reemplazar ese código? ¿Será una conversión de algún tipo? ¿Se agregará un método adicional usando el cierre?
¿Alguien sabe cómo va a funcionar esto/cuáles son los planes?
Por ejemplo, para utilizar el FileFilter hoy hacemos:
....
File [] files = directory.listFiles(new FileFilter()
public boolean accept(File file) {
return file.getName().endsWith(".java");
}
});
¿Alguien sabe cómo se va a trabajar en Java7?
¿Quizás sobrecargar el método File.listFiles para recibir un cierre?
File [] files = directory.listFiles(#(File file){
return file.getName().endsWith(".java");
});
http://stronglytypedblog.blogspot.com/2010/07/lambdas-in-java-preview-part-2.html vea este artículo – Bozho
@Bozho Eso está desactualizado ya que no hace referencia a la versión actual de la propuesta, que no tiene tipos de funciones. – ColinD
http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-3.html – OscarRyz