问题不是lambda表达式,而是它正在实现的接口。请记住,lambda表达式基本上只是实现给定接口的匿名类的简写。
在这种情况下,请
forEach输入
java.util.function.Consumer<T>:
public interface Consumer<T> { void accept(T t); ...}注意,
accept没有声明抛出任何东西。这意味着它的任何实现都不能抛出任何东西。不是命名类,不是匿名类,也不是lambda。

问题不是lambda表达式,而是它正在实现的接口。请记住,lambda表达式基本上只是实现给定接口的匿名类的简写。
在这种情况下,请
forEach输入
java.util.function.Consumer<T>:
public interface Consumer<T> { void accept(T t); ...}注意,
accept没有声明抛出任何东西。这意味着它的任何实现都不能抛出任何东西。不是命名类,不是匿名类,也不是lambda。