Boa tarde, só para me abrir a mente. O código completo é esse.
import java.util.function.Predicate;
class A{
int a = 0;
public static void main(String[] args) {
new A().method(1, a -> a > 0); // A
}
private void method(int a, Predicate<Integer> d) {
if(d.test(a)){ // B
System.out.println(a);
}
}
}
A dúvida está aqui:
new A().method(1, a -> a > 0); // A
}
private void method(int a, Predicate<Integer> d) {
if(d.test(a)){ // B
Quando ele chama d.test(a) na verdade ele está fazendo o teste la da expressão Lambda da linha "A" né? No caso a -> a>0E recebe false ou true certo?