我一直在四处寻找,试图自学流媒体api。我制作了几个类,列出了宠物的arraylist,有一个抽象的方法来显示宠物的声音,这两个表达式分开使用效果很好
pets.stream().parallel().forEach(System.out::println);
pets.stream().parallel().forEach(s -> s.sound());
但我想看看是否可以将它们组合成一行代码,这样在列表打印出来之后,它就会打印出声音。我想完成的事情有参考代码吗?
java prettyprint-override">pets.stream().parallel()
. peek(System.out::println)
.forEach(s -> s.sound());
我建议将这两个操作(调用声()
和打印宠物)包装在一个静态助手方法中,即使这可能会重新排序print语句(但由于并发,顺序无论如何都是不确定的):
private static void printSoundAndPet(Pet pet) {
final Optional<Pet> maybePet = Optional.ofNullable(pet);
maybePet.ifPresent(Pet::sound);
maybePet.map(Pet::toString)
.ifPresent(System.out::println);
}
这将允许以下流操作:
pets.stream().parallel()
.forEach(Ideone::printSoundAndPet);
视频演示
程序可能会显示意外的行为。为此,请查看user15358848在这里的注释和Eugene在这里的注释。我建议删除。并行()
-操作。这将简化
pets.stream().parallel().forEach(....);
只是
pets.forEach(...);
对:
pets.stream().parallel().forEach(s -> { System.out.println(s); s.sound(); });
请记住,lambda实际上只是一个接口的实现,您可以在其中添加任何代码。
我有两个查询,它们查看不同的数据库表,并从每个表中的JSONB列中查找格式为[“tag1”、“tag2”、“tag3”]等的项。查询的目的是填充预测性下拉列表,即如果列表包含“dog”且用户类型为“d”,则应返回“dog”。这些查询中的每一个都单独工作,我可以很容易地将它们组合成一个JOOQ查询?
这是我当前的代码: 我一辈子都不知道如何旋转这个。我看了其他几个论坛,但没有其他机构讨论这个问题。 据我所知,没有办法旋转JPanel或JFrame,所以我运气不好吗? 这就是它现在的样子: 数字时钟 我想把它旋转90度。基本上是垂直的。 编辑:解决方案:
问题内容: 如何将这两个JToken合并为一个JToken。听起来应该很简单,但无法解决。 谢谢您的帮助! 到目前为止,这是我尝试过的: 我首先将第一个对象分配给变量,然后尝试将其连接到第二个变量。我有一个循环,可以带回具有三个字段的多个页面。最终目标是抓取每个页面并创建一个包含所有页面的大J。 像这样的东西: 问题答案: 您可以用来将一个合并到另一个。请注意,可以控制数组的合并方式。从Enume
我要“登录” 而我愿意这样 我也使用Bootstrap4,但不是为了我想做的事情,我在某个地方读到,不使用Bootstrap,自己做更好。 下面是我使用的代码: css: html: 如果可以使用Bootstrap 4完成,我也可以。
我想将两个ObjectNode合并在一起,但要具有最佳的复杂性。我知道一种方法,我可以使用setAll方法,但它返回JsonNode,因此我必须转换它。我发现的转换过程的最佳方法是如何将JsonNode转换为ObjectNode。我认为这种转换一旦迭代Json,也许我们可以找到一个更好的解决方案。 我认为第二种方法是迭代第二个ObjectNode,然后用put方法一个接一个地添加到第一个Objec