Lambda, de hecho, una clase anónima?

mikeProgrammer:

Estoy leyendo Effective Java y se preguntaba acerca de las diferencias entre lambday anonymous class. Sé que lambda sólo se puede utilizar con las interfaces con un método único Interfaces es decir, funcionales y en lambda no puede obtener referencia a sí mismo por lo que la palabra clave thisse refiere a la clase en la que se especifica lambda cuando en la clase de palabras clave anónima thisrelaciona con el cuerpo de una clase anónima. Pero no sé lo que realmente es lambda. Supongo que esto es sólo una expresión que crea una instancia de la clase anónima que implementa la interfaz funcional así que esto es sólo el azúcar sintáctica con algunas limitaciones cuando se compara con clase anónima normal, pero gracias a ella podemos deshacernos de repetitivo y hacer nuestro código más legibilidad . Por otra parte aquí podemos leer acerca de las diferencias de rendimiento de lo que podría sugerir que lambda, de hecho, no es una instancia de la clase anónima que implementa la función de interfaz.

Albahaca Bourque:

No hay, lambdas! = Clases internas anónimas

Lambdas en Java reemplazar muchos de los usos comunes de las clases internas anónimas. El resultado es mucho más compacto y fácil de leer, y el código obvia.

No, la implementación de lambdas es no basado en clases internas anónimas.

Para una mayor discusión, véase esta pregunta en un sitio hermano de desbordamiento de pila.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=230625&siteId=1
Recomendado
Clasificación