@FunctionalInterface
public interface Consumer<T> {
void accept(T t);
default Consumer<T> andThen(Consumer<? super T> after) {
//这个accept为什么没有循环调用,按照正常理解,表达式里面accept(t)调用的还是自己的 accept
return (T t) -> { accept(t); after.accept(t); };
}
}
public void test () {
Consumer<Number> aa = new Consumer<Number>() {
@Override
public void accept(Number number) {
}
};
Consumer bb = aa.andThen(new Consumer<Number>() {
@Override
public void accept(Number number) {
}
});
bb.accept(1); //此时先调用 bb lambda表达式里面的accept, 然后accept 又调用了 accept,这个不是调用bb 自己的accept了吗,为啥会调用aa的accept
}

关于lambda表达式的一些疑问
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-