Скажем, у меня есть интерфейс Predicate из java:
public interface Predicate<T> {
boolean test(T t);
default Predicate<T> negate() {
return (t) -> !test(t);
}
}
Теперь две реализации созданы Predicate1 и Predicate2 с использованием лямбда-выражений, и у них будет создан 1 объект (при условии, что oracle jvm) соответствует каждому выражению, например
Predicate1 = (t) -> {return false}.
Predicate2 = (t) -> {return false}.
Сколько объектов будет создано в соответствии с функцией negate()
?Будет ли это один объект на реализацию.т.е. два (2) в этом случае, поскольку у нас есть Предикат1 и Предикат2 или это будет только один?