我可以使用IntelliJ IDEA重构用等效表达式替换lambda表达式。感谢。
public class StateOwner {
public void addStateListener(StateChangeListener listener) { ... }
}
..
StateOwner stateOwner = new StateOwner();
stateOwner.addStateListener(
(oldState, newState) -> System.out.println("State changed")
);
我可以让IntelliJ IDEA用
替换lambda表达式部分stateOwner.addStateListener(new StateChangeListener() {
public void onStateChange(State oldState, State newState) {
System.out.println("State changed")
}
});
答案 0 :(得分:9)
这取决于您的热键设置。但是如果使用默认值,你可以在lambda narrow或lamdba参数上尝试使用前导光标,然后 alt + Enter ,然后选择“用匿名类替换lambda”
答案 1 :(得分:2)
它提供的方式与将代码转换为lambda的方式相同。 确保你有一个相当晚的版本。