我想使用流API迭代Map
,但是,如果在null
的元素中出现任何EntrySet
,我想做一些自定义处理。
因为我需要自定义处理空值,所以我不能只使用Stream::filter
使用我当前的功能(MyClass::f
),
HashMap<String,String> map =new HashMap<>();
map.entrySet().stream().map(MyClass::f);
我得到NullPointerException
。
答案 0 :(得分:3)
map
的函数的 null
,并返回其他对象的原始文件。
如果没有具体的用例,这是我能提供的最好的:
List<String> s = Arrays.asList("foo", null, "bar", null);
s.stream()
.map(e -> (e == null) ? "woops, something was null" : e)
.forEach(System.out::println);
应该给你
foo
woops, something was null
bar
woops, something was null