IntStream is = IntStream.of(1,2,3);
IntUnaryOperator un = IntUnaryOperator.identity();
is.forEach(s -> un.applyAsInt(s));
forEach方法只能将consumer作为参数,然后如何使用返回int的applyAsInt man方法成功编译?
任何人都可以解释其背后的原因吗?
答案 0 :(得分:2)
相关代码
play = () => {
if (this.audio === null) {
this.audio = new Audio(music);
}
this.audio.loop = true; //this one
this.setState({ play: true, pause: false });
this.audio.play();
};
也可以表示为:
is.forEach(s -> un.applyAsInt(s));
这可以帮助您理解,尽管is.forEach(new IntConsumer() {
@Override
public void accept(int s) {
un.applyAsInt(s); // return type ignored
}
});
返回了applyAsInt
,但返回的值在int
内被忽略了。。
答案 1 :(得分:1)
因为“ s-> un.applyAsInt(s)”是使用者