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;
};
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;
};