IntelliJ 2020 能否将“Callable”lambda 函数提取到新创建的 class 中?

Can IntelliJ 2020 extract a `Callable` lambda function into a newly created class?

IntelliJ 2020 可以接受这段代码吗:

Callable < Boolean > callable = ( ) -> {
    System.out.println( this.toString() );
    return Boolean.TRUE;
};

...并将中间的两行提取到新创建的 class 实现 Callable?

不,不能。至少我找不到办法做到这一点。 我想您想使用一种包含两行 lambda 的方法将 lambda 提取到通用 class 中。如果你只想要这样你就可以将这个 lambda 赋给一个变量,你也可以使用现有的功能接口之一。 java.util.function.Supplier<T> 很适合这种情况。

Supplier<Boolean> callable = () -> {
    System.out.println(this.toString());
    return Boolean.TRUE;
};