gpt4 book ai didi

java - 在日期属性为字符串的列表中查找具有最大日期的对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:24 25 4
gpt4 key购买 nike

假设我有一个对象:

public class MyObject {
private LocalDate date;
}

在这些对象的列表中,很容易找到具有最新日期的对象:

MyObject newest = Collections.max(myObjectList, Comparator.comparing(MyObject::getDate));

当日期是字符串时,是否有类似简洁的方法来查找具有最新日期的对象?我需要先将日期转换为 LocalDates,但我不能这样做:

MyObject newest = Collections.max(myObjectList, Comparator.comparing(LocalDate.parse(MyObject::getDate)));

最佳答案

假设MyObject::getDate返回 LocalDate.parse 可接受的格式,你几乎是正确的。你只需要写一个 lambda 表达式:

Comparator.comparing(o -> LocalDate.parse(o.getDate()))

comparing需要 Function<MyObject, T> .你应该给它一个接受 MyObject 的方法。并返回一些东西(扩展 Comparable )以供比较。

了解有关 lambda 的更多信息 here .

关于java - 在日期属性为字符串的列表中查找具有最大日期的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54530887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com