¿Qué representa ()->{} en Java? Cualquier ayuda sería muy apreciada.
Es una expresión lambda, básicamente una forma concisa de escribir una función. ()->{} es una función que no toma argumentos y no hace nada. Una forma más larga de escribir lo mismo:
new Runnable() { @Override public void run() { // nothing } };Consideremos la forma antigua de escribir funciones (es decir, métodos) en Java.
//lets assume this is inside calculate class public int sum(int a, int b){ return a+b; }en java 8 tenemos algo llamado lambda en el que tenemos un concepto llamado pasar comportamientos (métodos) a otro comportamiento (métodos).
en esos casos usamos una sintaxis como (a,b) -> return a+b ;
BiFunction<Integer,Integer,Integer> sum= (a,b)->{ return a+b; }; System.out.println(sum.apply(1, 2));Incluso podemos almacenar Función en una variable y pasar a otra función. puedes ver aquí
ahora veamos la sintaxis (a,b) ->{ return a + b}; (a,b) son argumentos para funcionar;
y la línea de código dentro de {} representan el comportamiento. -> es separar las expresiones izquierda y derecha.
puede explorar más sobre java8 y lambda aquí