我经常发现自己在写这样的代码:
return collectionOfOptionals.stream()
.filter(Optional::isPresent)
.map(Optional::get)
.collect(toList());
但是有没有办法把中间的两条线压缩成一个操作呢?
我可以这样做,但感觉更不满意:
return collectionOfOptionals.stream()
.flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty))
.collect(toList());
基于这个问题,在Java9中这似乎是可能的。
return collectionOfOptionals.stream()
.flatMap(Optional::stream)
.collect(toList());
这样好多了。但是我已经做的将在Java8。
我想知道的所有值是否为空。除了必须检查映射中每个条目中的值之外,还有什么是最好的方法?
我在主类中有这个类,用来在我的JTabbedPane上放置一个关闭按钮。问题是,例如,我打开了三个选项卡:journal、contact和upload,而contact选项卡是当前选择的选项卡。当我尝试关闭不是选定选项卡的日记选项卡时,关闭的是当前选定的选项卡。 这就是我调用选项卡的方法:
我在datatable中使用了基于ajax jquery php的多选择选项过滤。它正在正确过滤记录,但更改选择选项过滤后,将显示一条警报消息 注:- (1) 数据表下方的计数未正确显示。 (2)显示一条警报消息。 这是有记录的数据表 选择选项后,将显示一条错误警报消息。 超文本标记语言代码:- Ajaxu公司搜索。php jQuery/Ajax代码:-
问题内容: 为了调试目的,我想在处理输出流时将其内容转储到文件中。解析流将使用该流。 我可能会需要一个过滤器来存档它,在写我自己之前,我想问一下是否已经有现成的版本。 更新: 应该提到我在Android上工作。 我有什么: 所以我有一个和一个。 问题答案: 并不完全是准备推出一个,但是这可能会感兴趣。示例中有一个TeeOutputStream实现。
我有以下Java 8代码: 它工作正常,但我想知道如何将调用链接到不使用。我试过使用,但它不允许返回另一个
问题内容: 使用Java Stream时,映射后有时会出现空值。当前,当这些值需要省略时,我使用: 对于更实用的样式,可以快速编写一个小的辅助方法: 这样您就可以使用方法引用了: 我找不到这样的jdk方法,即使我怀疑它们中已经包含了一种。这里有其他方法吗?还是他们出于某种原因忽略了这一点? 问题答案: 您可以从Java8 SDK 使用Objects :: nonNull :