Java Lambda 方法参考无效
Java Lambda method reference not working
我原来的代码是这样的:
private static void onClicked(MouseEvent event) {
// code to execute
}
// somewhere else in the program:
setOnMouseClicked(event -> SomeClass.onClicked(event));
但是 IntelliJ 说 "Can be replaced with method reference" 我不太确定该怎么做。我以为我会这样做:
setOnMouseClicked(event -> SomeClass::onClicked);
但是这告诉我 "void is not a functional interface",但我不想 return 任何事情。我只想让处理程序执行。我该如何解决这个问题?
谢谢!
您将 lambda 表达式与方法引用混合在一起。
改变
setOnMouseClicked(event -> SomeClass::onClicked);
至
setOnMouseClicked(SomeClass::onClicked);
我原来的代码是这样的:
private static void onClicked(MouseEvent event) {
// code to execute
}
// somewhere else in the program:
setOnMouseClicked(event -> SomeClass.onClicked(event));
但是 IntelliJ 说 "Can be replaced with method reference" 我不太确定该怎么做。我以为我会这样做:
setOnMouseClicked(event -> SomeClass::onClicked);
但是这告诉我 "void is not a functional interface",但我不想 return 任何事情。我只想让处理程序执行。我该如何解决这个问题?
谢谢!
您将 lambda 表达式与方法引用混合在一起。
改变
setOnMouseClicked(event -> SomeClass::onClicked);
至
setOnMouseClicked(SomeClass::onClicked);