我需要多次使用一个流。我试过这样的东西:
public static void main(String[] args) {
Stream<Integer> stream = Arrays.stream(new Integer[]{1, 2, 3, 4, 5, 6, 7, 8});
Supplier<Stream<Integer>> saved = saveStream(stream.filter(e -> e % 2 == 0));
System.out.println(saved.get().count());
System.out.println(saved.get().max(Integer::compareTo).get());
System.out.println(saved.get().min(Integer::compareTo).get());
}
public static Supplier<Stream<Integer>> saveStream(Stream<Integer> stream){
Supplier<Stream<Integer>> result = new Supplier<Stream<Integer>>() {
@Override
public Stream<Integer> get() {
Stream<Integer> st = stream;
return st;
}
};
return result;
}
您的供应商不创建流的新实例,而是多次提供相同的实例。
由于流是单一用途,这种方法不起作用。您必须重新创建流。
我对这项服务、供应商和工厂有点困惑。AngularJS模块的服务、提供者和工厂之间有什么区别?请讲述并举例说明
Oracle 的 Java SE 的 JSSE 实现是包含了一个名为 SunJSSE 的供应商,通过 JCA 来预装和预注册。这个供应商提供以下加密服务: SSL 3.0 和 TLS 1.0 安全协议的实现 最常见 SSL 和 TLS 密码套件的实现,其中包括认证、密钥协议、加密和完整性保护 一个基于 x.509 的密钥管理器的实现,用于从标准的 JCA keystore 中选择合适的认证密钥 一
在我的项目中,我有一些经过手动编辑的作曲家供应商库;我的目的是在我的开发机器上将它们恢复到原始状态。 不幸的是,我触发了一个,因此我没有正确的编写器。不再锁定(已更新)。我找到了作曲家。来自我们的生产系统的锁(与旧的developmentcomposer.lock具有相同的库版本)。 在更换了新的作曲家之后。使用旧的锁,我应该执行什么来确保拥有与以前相同的环境?
寻找如何使用Javalambda函数,以便消费者可以处理供应商提供的所有对象,并在循环和检查时摆脱显式