我有以下lamda表达式。我的IDE(明智的想法)告诉我,应该将其替换为Comparator.comparingDouble
,但我找不到解决方法。
List<javafx.stage.Screen> screenList = screens;
screenList.sort((screenA, screenB) -> Double.compare(
screenA.getBounds().getMinX(), screenB.getBounds().getMinX()));
是否可以通过
完成此操作screenList.sort(Comparator.comparingDouble(...));
或者这是intellij的错误注释吗?预先感谢您的帮助!
答案 0 :(得分:3)
您只需要一个将Screen
转换为double
的函数:
screenList.sort(Comparator.comparingDouble(screen -> screen.getBounds().getMinX()));
答案 1 :(得分:1)
在Intellij IDEA中,您只需要调用比较(按Alt + Enter)并在建议用Comparator替换时单击Enter。比较两次,IDEA会执行自动替换。
screenList.sort((screenA, screenB) -> Double.com<ALTENTER_HERE>pare(
screenA.getBounds().getMinX(), screenB.getBounds().getMinX()));
代码将替换为:
screenList.sort(Comparator.comparingDouble(screenA -> screenA.getBounds().getMinX()));