Detalles de implementación de referencia de expresión Lambda vs método
Dado este:
class MyClass {
static class A {
public boolean property() {
return Math.random() < 0.5;
}
}
static List<A> filterLambda(List<A> list) {
return list.stream().filter(a -> a.property()).collect(Collectors.toList());
}
static List<A> filterMethodCall(List<A> list) {
return list.stream().filter(A::property).collect(Collectors.toList());
}
}
¿Cuáles son las diferencias enlo que hace el compilador para cada método?En caso de que haya alguno, ¿hay alguna diferencia en el uso de la memoria o el tiempo de ejecución? (incluso si es pequeño, la pregunta es solo académica)PD: Sé que la pregunta es similar aéste pero creo que no se ha abordado correctamente.