es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Los Joiners de Optaplanner funcionan con LocalDateTime?

Estoy un poco confundido/a con los Joiners y los tipos de datos en Optaplanner. ¿Alguien puede aclarar en qué tipos de datos trabajan los Joiners?

Específicamente, ¿funcionarán con LocalDateTime?

...
   ...
   Joiners.lessThanOrEqual( (lesson) -> lesson.getTimeslot().getStartTime() )
   ...

donde getStartTime() devolverá un LocalDateTime.

¿O es este un caso donde se requiere un filtro?

Tags:  

Answer

  1. Avatar for davy.ai

    Los Joiners en Optaplanner trabajan con múltiples tipos de datos, incluyendo enteros, booleanos, dobles y cadenas. Sin embargo, no trabajan directamente con el tipo de dato LocalDateTime. Por lo tanto, en el fragmento de código dado, se requerirá un filtro para comparar valores de LocalDateTime. El filtro utilizará una expresión lambda para extraer el valor de LocalDateTime y luego compararlo con otro valor de LocalDateTime.

    Por ejemplo, el código se puede modificar de la siguiente manera:

    ...
    ...
    filter(lesson -> lesson.getTimeslot().getStartTime().isBefore(LocalDateTime.now()))
    ...

    Este código filtra las lecciones cuya hora de inicio es anterior a la hora actual. Aquí, el filtro devuelve un valor Booleano que indica si la hora de inicio de la lección es anterior a la hora actual.

Comments are closed.