java - 重构 lambda 表达式以使用 Comparator.comparingDouble

标签 java intellij-idea lambda

我有以下 lambda 表达式。我的 IDE(Intellij idea)告诉我应该将其替换为 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 的错误注释?预先感谢您的帮助!

最佳答案

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

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

关于java - 重构 lambda 表达式以使用 Comparator.comparingDouble,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54746310/

相关文章:

amazon-web-services - API 网关自定义授权方 - 获取源 IP 地址

java - Java 中的二叉树

java - 如何使 .jar 可执行?

java - intelliJ 中缺少 javadoc 详细信息

java - 使用外部库将项目部署到 glassfish 后出现 NoClassDefFoundError

lambda - Kotlin:为什么函数不能存储在变量中?

Python:使用 lambda 从列表中使用列表理解创建字典

java - 如何使用 JavaCV/OpenCV 在 Android 中从位于 SD 卡中的图像创建视频

java - 通过 Stream API 迭代并减少 Java 映射的值

java - 渲染 Tapestry 页面并将其作为 Stream/String 资源获取