Lambda Ausdruck vs Methodenreferenz Implementierungsdetails
Gegeben dies:
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());
}
}
Was sind die Unterschiede inwas der Compiler macht für jede Methode?Wenn es welche gibt, gibt es einen Unterschied in der Speichernutzung oder der Laufzeit? (Auch wenn es klein ist, ist die Frage nur akademisch)PD: Ich weiß, die Frage ist ähnlich wiediese aber ich denke es wurde nicht richtig angesprochen.