@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 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥20 控制ic卡让喇叭发出不同声音
- ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
- ¥20 求一个简易射频信号综测仪
- ¥15 esp8266 tally灯 接收端改为发射端
- ¥30 Labview代码调用access 数据库,相同代码其中一个调用不出来是为什么
- ¥15 基于51单片机的交通灯系统,找改程序有点急
- ¥15 java启动jar包后,运行过程中宕机
- ¥15 进行LM运算过程中出现了无法识别的问题,具体问题如下图
- ¥500 高有偿提问!求优化设计微信小程序
- ¥15 matlab在安装时报错 无法找到入口 无法定位程序输入点