collections - 比较 Java8 中的 Instant
问题描述
我有这个对象:
public class MatchEvent implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Instant dateReceived;
public Instant getDateReceived() {
return dateReceived;
}
public void setDateReceived(Instant dateReceived) {
this.dateReceived = dateReceived;
}
}
我想在收到日期之前订购它;
matchService
.findAllByDay(today)
.sorted(Comparator.comparing(MatchEvent::dateReceived))
但这似乎是不可能的,因为我遇到了编译错误:
Multiple markers at this line
- The method comparing(Function<? super T,? extends U>) in the type Comparator is not applicable for the arguments
(MatchEvent::dateReceived)
- The type MatchEvent does not define dateReceived(T) that is applicable here
解决方案
声明一个名为getDateReceived()
inside的公共方法class MatchEvent
,如下所示:
public Instant getDateReceived(){
return dateReceived;
}
然后您可以将此方法用作方法参考,如下所示:
Comparator.comparing(MatchEvent::getDateReceived)
推荐阅读
- pytorch - 训练步骤未在 pytorch 闪电中执行
- c# - Unity 3d C#在死亡时停止玩家移动(跌倒)
- github - 我可以将多个 GitHub 存储库组合在一起进行权限管理吗?
- java - 为什么没有办法在java中引用二维数组中的单列?
- c# - 回退策略日志授权事件
- ajax - POST 400 Bad Request 即使那里有数据(Django Rest Framework)
- ios - Flutter 应用程序未在 ios 上运行(来自 CocoaPods 的错误输出)
- bootstrap-4 - 模式中的 Bootstrap 4 工具提示位置和样式不起作用
- javascript - Web 扩展中的 API
- http - 多部分/表单数据 rfc 1867 解析