当前位置: 首页 > 知识库问答 >
问题:

Java8's Streams[duplicate]中的LINQs Enumerable.single()

闻慎之
2023-03-14

现在:

  • 我认为Java 8的流没有这样的方法是正确的吗?
  • 是否有获得此功能的首选替代方案?
  • 我自己实现这个好吗?

共有1个答案

王高邈
2023-03-14

以下是获得此功能的一种方法

Stream<String> stream = Stream.of ("first");
String single = stream.reduce((a,b)->{throw new SomeException();})
                      .get();

其思想是,如果有多个元素,reduce将在lambda表达式中抛出异常。如果没有元素,get()将抛出NosuchelementException

您还可以通过将代码更改为:

Stream<String> stream = Stream.of ("first");
String single = stream.reduce((a,b)->{throw new SomeException();})
                      .orElseThrow(SomeException::new);
 类似资料:
  • null 所以我想我有几个问题是基于我的发现。 如果不能重用流,那么何时返回流的实例以供以后使用? 是否可以克隆流,以便重用它们而不会导致?

  • 我想知道,如何在Java8中使用流API迭代多级列表 根据Java8,我应该做如下的操作 我想要流利地做这件事(使用内部迭代)。任何解释都会很感激。

  • 有一个简单的: 以及任务对象的列表。如何通过使用获得每个作为的列表。我试过这个: 但它返回

  • 我尝试使用Java8特性。 我有课 我有一个列表,我尝试按分组,并计算非空的和。示例: 我的预期输出是 我试着跟在后面 因为我是刚到java的,我面临着要完成它的斗争,我尽了最大的努力。是否可以删除空文件和计数?

  • 我正在制作一个类似于LinkedListjava.util.类,得到了一个完全意想不到的类。我的IDE没有显示警告。仅供参考,我使用Java8u20。更新:固定在Java8u60。 3.T-T-h h-T-T-T-T-h-T-T-h-T-h-T-h-T-T-h h-T-T-h-T-T-T-h-T-h-T-T-T-T-T-T-T-T-h-T,i-i,i-T-i,i-T-T-T-i,i-s-a-s-s

  • 流已经提供了方法来转换为数组,那么为什么不提供和?