【发布时间】:2019-12-07 14:08:47
【问题描述】:
我有一个返回用户实体的方法,
我正在尝试将它们映射并收集到 Spring Core API、UserDetails。
User user = userRepository.findByName(userName);
Optional.ofNullable(user)
.map(a -> new org.springframework.security.core.userdetails.User(a.getName(),
a.getPassword(), new ArrayList<>())).stream()
.collect(Collectors.toList())
以上返回List<UserDetails>但在我的情况下,我想收集它 UserDetails 实体(1 项)并且 findByName() 可能返回 NULL,在这种情况下我需要抛出自定义异常。
有没有办法处理这种情况?
【问题讨论】:
-
这里为什么需要
Stream?不要将Optional与Streams 混淆。 -
考虑优雅的解决方法。
标签: java java-8 java-stream optional