当我们在使用 Java 8 的 Lambda 表达式时,表达式内容需要抛出异常,也许还会想当然的让当前方法再往外抛来解决编译问题,如下面的代码

让 main() 方法抛出 Exception 还是不解决决编译错误,仍然提示 "Unhandled exception: java.io.FileNotFoundException"。
因为我们可能保持着惯性思维,忽略了 Lambda 本身就是一个功能性接口方法的实现,所以把上面的代码还原为匿名类的方式
public void foo() {
Stream.of("a", "b").forEach(new Consumer<String>() {
@Override
public void accept(String s) {
new FileInputStream(s).close();
}
});
那么对于上面那种情况应该如何处理呢? 阅读全文 >>
本文探讨了Java8中Lambda表达式遇到需要抛出检查异常的情况时的处理方式,并通过实例对比了传统匿名内部类与Lambda表达式的差异。
1304

被折叠的 条评论
为什么被折叠?



