LAMBDA的排序写法和方法引用(类名::成员)使用规范
2026/6/1 5:23:32 网站建设 项目流程

假设有两个对象:
Item item1 = new Item(4.5);
Item item2 = new Item(3.8);
使用 .sorted((a, b) -> Double.compare(a.rating, b.rating))

→ 比较 4.5 vs 3.8 → 正数 → item1 排在 item2 后 → [3.8, 4.5](升序)
使用 .sorted((a, b) -> Double.compare(b.rating, a.rating))

→ 比较 3.8 vs 4.5 → 负数 → item1 排在 item2 前 → [4.5, 3.8](降序)

更简洁的写法(推荐)
Java 提供了更清晰的方式实现降序:

.sorted(Comparator.comparingDouble(item -> item.rating).reversed())
或者如果 rating 是 public 字段:

.sorted(Comparator.comparingDouble(Item::getRating).reversed())

注意!!!
方法引用 类名::成员 只能用于:
静态方法:Math::abs
实例方法:String::length
构造方法:ArrayList::new
但不能用于字段(field)!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询