为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

30秒到达战场 2022-06-23 20:19:09
我有以下 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的错误注释?预先感谢您的帮助!
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您只需要一个转换Screen为的函数double

screenList.sort(Comparator.comparingDouble(screen -> screen.getBounds().getMinX()));


查看完整回答
反对 回复 2022-06-23
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

在 Intellij IDEA 中,您只需在比较时调用快速修复(按 Alt+Enter),然后在建议替换为 Comparator.comparing double时单击 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()));



查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 385 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信