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

为什么暴风雨流的明确定义不起作用,而隐含的定义却起作用呢?

汪甫
2023-03-14
    StreamBuilder builder = new StreamBuilder();
    builder
        .newStream(new IntSpout(), new ValueMapper<Integer>(0), 1)
        .filter(x -> x > 5)
        .print();
    Stream<Integer> integerStream = builder.newStream(new IntSpout(), new ValueMapper<Integer>(0), 1);
    integerStream.filter(x -> x > 5);
    integerStream.print();
java prettyprint-override">    StormTopology topo = builder.build();
    LocalCluster cluster = new LocalCluster();
    cluster.submitTopology("test", new HashMap<>(), topo);

共有1个答案

扶珂
2023-03-14

这是因为integerstream.filter(x->x>5);返回一个您忽略的新流。

这是可行的:

    Stream<Integer> integerStream = builder.newStream(new IntSpout(), new ValueMapper<Integer>(0), 1);
    Stream<Integer> filteredStream = integerStream.filter(x -> x > 5);
    filteredStream.print();

在您的第一个示例中还有一个语法错误。它在第四行末尾多了一个分号。

StreamBuilder builder = new StreamBuilder();
builder
    .newStream(new IntSpout(), new ValueMapper<Integer>(0), 1)
    .filter(x -> x > 5) // <= there was a semicolon here 
    .print();
 类似资料:
  • 问题内容: 我在标准类中校准函数时遇到问题。必须具有所有导入才能使用该功能。我需要延长班级吗? 感谢您的即时帮助。 问题答案: 是Context的方法。因此,您可以将上下文传递给DbAdapter构造函数并从中调用:

  • 问题内容: 我正在尝试使用flag覆盖系统的类加载器。但是,在加载类时仍未使用。 的代码: 这是主要代码: 这是使用命令的输出(请参阅Eclipse run config): [打开的C:\ Program Files \ Java \ jre7 \ lib \ rt.jar] [从C:\ Program Files \ Java \ jre7 \ lib \ rt.jar加载java.lang.

  • 我正在尝试创建一个带有自定义注释和spring AOP的Spring Boot库。当我将这个库与新的spring boot应用程序一起使用时。那么它就不起作用了。就连我也没有任何错误。 库示例- 自定义注释 SpringAOP课程 波姆。xml 使用mvn clean install创建库 现在,新的库被导入到springboot应用程序中。 控制器中使用了新的自定义注释 控制器 请帮忙。

  • 问题内容: 在以下示例中,我希望Deepcopy可以创建字段的副本,而不仅仅是复制引用。这里发生了什么,有什么简单的方法可以解决? 输出: 问题答案: 深层复制(默认情况下)仅适用于实例级别的属性-不适用于类级别-唯一的多个含义并没有多大意义… 将您的代码更改为:

  • 将W,S和I,k绑定到乒乓球的左右桨。根据Eclipse,代码进入类p1_upaction扩展AbstractAction,但不运行公共void actionPerform(ActionEvent e)。我不知道该怎么办。键输入称为操作未注册。

  • 还不起作用。所以我放弃链接,我只是编码: