java - IntelliJ 2020 能否将“可调用”lambda 函数提取到新创建的类中?
问题描述
IntelliJ 2020 可以采用此代码:
Callable < Boolean > callable = ( ) -> {
System.out.println( this.toString() );
return Boolean.TRUE;
};
...并将中间的两行提取到一个新创建的类中实现Callable
?
解决方案
不,它不能。至少我找不到办法做到这一点。我想你想用一个包含两行 lambda 的方法将 lambda 提取到一个泛型类中。如果您只希望能够将此 lambda 分配给一个变量,您也可以使用现有的功能接口之一。java.util.function.Supplier<T>
非常适合这种情况。
Supplier<Boolean> callable = () -> {
System.out.println(this.toString());
return Boolean.TRUE;
};
推荐阅读
- highcharts - 带有自定义数据的热图无法显示任何内容
- plugins - 更新 Capacitor 3 的自定义插件
- java - 使用选择器根据选中状态更改菜单项的颜色
- javascript - 使用 JavaScript 在 CSS 类中添加/删除属性
- r - 如何使数据集中的逗号分隔字符串变量成为 R 中的唯一行/列名称
- dart - 飞镖捕捉异常未来函数
- r - 我无法在 R 中使用 pdfetch_ECB 下载任何内容,因为无法正常工作
- react-native - React Native Youtube 循环播放视频的某些部分
- xamarin - 将 Xamarin Forms 与 MVVM 一起使用,我的绑定不会更新
- excel - VBA相同的nrs在if语句中不匹配