public void test5() { User user1 = new User(); user1.setId(null); user1.setName("1"); User user2 = new User(); user2.setId(2L); user2.setName("2"); List list = Lists.newArrayList(); list.add(user1); list.add(user2); Map<Long, String> map = list.stream().collect(Collectors.toMap(User::getId, User::getName)); System.out.print(map);}
复制代码
6. 还有什么要注意的?
上述的例子,均是建立在list不为空的前提下进行的。如果list本身为null,在调用stream()时自然也会抛NullPointerException;如果list是空的(内容为空但是容器本身初始化过,如list = new ArrayList()),则不会报错。
小结