list.forEach()和list.stream().forEach()有什么区别呢?
下文笔者讲述list.forEach和list.stream().foreach()方法之间的区别说明,如下所示
list.forEach和list.stream().foreach()方法功能说明
两者的方法都是遍历对象 两者的方法都是接收一个accept()方法
list.forEach和list.stream().foreach()方法区别
list.forEach()当遇见null值时,立即报错 list.stream().foreach() 首先将list转换为stream后 然后使用foreach遍历对象 如果有null时,遍历完毕后,才会抛出异常例:foreach示例
list.forEach()使用增强for循环 default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } } public class TestClass { public static void main(String[] args) { List<String> list = Arrays.asList("A", "B", "C", "D"); try { list.forEach(item -> { System.out.println(item); list.remove(0); }); } catch (Exception e) { e.printStackTrace(); } list.stream().forEach(item -> { System.out.println(item); list.remove(0); }); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。