重构 lamda 表达式以使用 Comparator.comparingDouble

我有以下 lamda 表达式。我的 IDE(intellij 想法)告诉我它应该被替换,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的错误注释?预先感谢您的帮助!


30秒到达战场
浏览 386回答 2
2回答

陪伴而非守候

您只需要一个转换Screen为的函数double:screenList.sort(Comparator.comparingDouble(screen&nbsp;->&nbsp;screen.getBounds().getMinX()));

慕勒3428872

在 Intellij IDEA 中,您只需在比较时调用快速修复(按 Alt+Enter),然后在建议替换为 Comparator.comparing double时单击 Enter ,IDEA 将自动进行替换。screenList.sort((screenA,&nbsp;screenB)&nbsp;->&nbsp;Double.com<ALTENTER_HERE>pare( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screenA.getBounds().getMinX(),&nbsp;screenB.getBounds().getMinX()));代码将替换为:&nbsp;screenList.sort(Comparator.comparingDouble(screenA&nbsp;->&nbsp;screenA.getBounds().getMinX()));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java