我试图找出如何最好地实现这个java示例中的Optional类,因为当不存在“排除”字段时(当它为空时我不想要异常)
List<Exclusion> exclusions = offer
.getSources()
.stream()
.map(Source::getExclusion)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我在https://www.online-java.com/Wb4gxPODfI发布了这个简短的示例
有任何想法吗?
在 Java 中,Optional<T>通常用于接口;它需要从 归还 getExclusion。在这种情况下,您真正需要做的是在调用后过滤流getExclusion。您可以使用Objects::nonNullfrom来执行此操作java.util.Objects:
List<Exclusion> exclusions = offer
.getSources()
.stream()
.map(Source::getExclusion)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
(请注意,我发现你的问题有点不清楚:如果问题是排除是,null那么过滤器应该在 之后map;如果问题是源是null,那么它应该在之前。如果null可以来自其中任何一个,那么您可以在 之前和之后进行过滤map。)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |