Encuentra objeto con fecha máxima en una lista en la propiedad de fecha es una cadena

Spacejockey:

Decir que tengo un objeto:

public class MyObject {
     private LocalDate date;
}

En una lista de estos objetos Es entonces bastante fácil de encontrar el objeto con la fecha más reciente:

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

¿Hay una manera concisa de manera similar a encontrar el objeto con la fecha más reciente, cuando la fecha es una cadena en lugar? Necesito convertir las fechas a LocalDates primera, pero no puedo hacer algo como esto:

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

Suponiendo que las MyObject::getDatedeclaraciones de un formato que sea aceptable para LocalDate.parse, usted es casi correcta. Sólo tiene que escribir una expresión lambda:

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

comparingtoma una Function<MyObject, T>. Se supone que para darle un método que toma una MyObjecty devuelve algo (que se extiende Comparable) para que pueda comparar.

Más información sobre lambdas aquí .

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=206116&siteId=1
Recomendado
Clasificación