说我有一个对象:
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表达式在这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句