Java8中Stream类中的forEach是Java抽象方法法,为什么在调用的时候不用重写该方法就能实现遍历?

我也是刚用上Java8的Stream所有的一切都還在照猫画虎的阶段。

在异常处理这块不敢贸然前进因为我看到某篇文的这样一段话

在单线程环境中,使用捕获受检异常并重新抛出非受检异常的方法是可行的但是在多线程环境这样用,就存在一些风险

多线程环境中,Lambda表达式中发生的错误会被自动传递到主线程中這会带来两个问题:

这不会停止其他正在并行执行的Lambda表达式。
如果有多个线程抛出了异常在主线程中却只能捕获到一个线程中的异常。洳果这些异常信息都很重要的话那么更好的方法是在Lambda表达式中就进行异常处理并将异常信息作为结果的一部分返回到主线程中。

我现在昰用的Stream流的Map方法当然用的是并发,想在map里的方法里只要有一个出错就让他停下来不运行其他的。这个需求该怎么搞。

我用了这种方法确实停下来了,那还有什么好的方法或者说是否有何问题,这样的话就拿不到具体哪个线程有问题了吧

我要回帖

更多关于 Java抽象方法 的文章

 

随机推荐