小编Pet*_*rov的帖子

我在Angular 2中需要app.component.ts吗?

我正在学习Angular 2.我有一个问题.我需要app.component.ts吗?我有很多组件在文件夹中.每个文件夹都包含组件和模板,但我想知道我真的需要主要组件或我可以删除它吗?

最好的祝福.

typescript angular

5
推荐指数
1
解决办法
8711
查看次数

为什么需要明确声明 lambda 是 Consumer 才能使用 andThen 方法?

当我尝试使用两个 void 方法的函数组合时,我遇到了一个奇怪的(对我来说)行为。我写了一个简单的例子来说明这个问题:

public class Startup {

    public static void main(String[] args) {

        List<Foo> foos = new ArrayList<>();

        // 1) Does not compile
        foos.forEach(Startup::doSomething1.andThen(Startup::doSomething2));

        Consumer<Foo> doSomething1 = Startup::doSomething1;
        Consumer<Foo> doSomething2 = Startup::doSomething2;

        // 2) Works as expected 
        foos.forEach(doSomething1.andThen(doSomething2));

    }

    public static void doSomething1(Foo foo) {

    }

    public static void doSomething2(Foo foo) {

    }

    public static class Foo {

    }

}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译第一个解决方案时,它在 andThen 调用之前显示“')'预期”。

当我明确地说这是消费者时,代码已编译并且按预期工作。

谁能向我解释为什么会发生这种情况,以及是否有另一种方法可以使用 Java 8 进行 void 方法的函数组合?

java lambda functional-programming java-8

4
推荐指数
1
解决办法
577
查看次数