我有这段代码,但 IntelliJ 告诉我用 lambda 替换匿名,但我不知道如何。谁能帮我这个?这是我的代码:
soundVolume.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
main.setSoundVolume(new_val.doubleValue());
main.getMediaPlayer().setVolume(main.getSoundVolume());
}
});
原文由 yukashima huksay 发布,翻译遵循 CC BY-SA 4.0 许可协议
一般来说,是这样的:
被替换为
参数的类型可以从用法中推断出来,但在某些情况下指定它们可能很有用。这部分来自上面的例子
会变成这样,如果你决定明确指定类型
对于您的具体示例,您可以使用:
请注意,只有当匿名类只有一个方法时,才能用 lambda 替换匿名类。如果匿名类有更多的方法,那么替换是不可能的。
来自 oracle 文档: