Java 8 Tutorial - 4 Ámbitos Lambda (Lambda Scopes)

preview_player
Показать описание

En este tutorial aprenderás como las expresiones lambda interactuan con variables locales, globales, estáticas y no estáticas.

Sígueme ;)
Рекомендации по теме
Комментарии
Автор

gracias x los videos, termine el cuatrimestro con java 7, esto me va a ayudar mucho

LordinmortalMDQ
Автор

En resumen compa;eros las lambdas tienen el mismo variable scope que las innersclass, que son:
SOLO LECTURA: para variables locales
ESCRITURA/LECTURA: para variables globales o atributos de clases ya sean estáticos o no.

osvaldoleiva
Автор

gracias amigo. Todo muy claro y bien explicado. Merci beaucoup

alonsomartinez
Автор

porque no es posible utilizar el operador THIS en un clase anónima y en una función lambda?

grub
Автор

En Java 11:
SOLO LECTURA: para variables locales y globales
ESCRITURA/LECTURA: para variables globales estáticas.

fab
Автор

Hola Jaime, revisando estos videos, tengo una inquietud. Cuando se usa Lambda las interfaces pasan a ser funcionales (es decir puedo colocar un sólo método), en cambio si no uso lambda el editor me permite implementar varios métodos.

JuanCarlosLerma
Автор

Hola. Una consulta, en el caso que tenga más de un método en la interfaz Operacion.java que mencionas, ¿cómo podría llamarlas a cada una con la expresión lambda?, ya que cuando agrego un método más en la interfaz y declaro una expresión lambda con uno de los métodos me envía el siguiente error "The target type of this expression must be a functional interface". Por ejemplo en la interfaz Operacion.java tengo los siguientes métodos:

public interface Operacion {
double calcularPromedio(double n1, double n2);
double calcularPromedio1(double n1, double n2, double n3);
}

y cuando llamo en una declaración lambda al segundo método "calcularPromedio1" de la siguiente manera:

Operacion operacion1=(double p1, double p2, double p3) -> (p1+p2+p3)/3;
System.out.println(operacion1.calcularPromedio1(2, 7, 9));

Me envía el siguiente error "The target type of this expression must be a functional interface"

Gracias de antemano por tu ayuda.

denishuaman
Автор

disculpa, porque la variable local tiene que ser final?

pablofenandez
Автор

Me confundi un poco al principio tu variable solo podias llamarla mas no alterarla dentro de tu clase anonima o funcion lambda, pero despues creaste otra variable solo cambio el modificador de acceso pero ya podias darle un nuevo valor

CodeBOXDaniKeys