java用IntelliJ IDEA中的等效代码替换lambda表达式
我可以使用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")
}
});
# 1 楼答案
这取决于你的热键设置。但如果使用默认值,可以尝试在lambda窄参数或lamdba参数上使用引导光标,然后alt+Enter,然后选择“用匿名类替换lambda”
# 2 楼答案
它提供的方式与将代码转换为lambda的方式相同。 确保你有一个相当晚的版本