Filtrar por la propiedad de la class enum Kotlin

¿Cómo puedo filtrar por una class enum en kotlin? (solo aprende) En el siguiente código, la class enum definida anteriormente en el file es PayStatus {PAGADO, SIN PAGAR}.

fun nextRentDate(): LocalDate? { return rentPaymentSchedule. filter { it.value.paymentStatus is PayStatus.UNPAID}. minBy { it.value.date.toEpochDay() }?.value?.date } 

Me sale el error: Kotlin: types incompatibles: PayStatus.UNPAID y Enum

¡Debe usar el operador == cuando compruebe los valores enum!

Lo está usando it.value.paymentStatus is PayStatus.UNPAID para comparar dos enumeraciones entre sí, es la palabra key utilizada para la comparación de types, como se describe aquí .

Esto no funciona en Java o Kotlin, como dice el comstackdor: "'está' sobre la input enum no está permitida, use la comparación en su lugar"

La comparación en Kotlin viene en dos sabores : == y ===

La primera opción, == se comstack a equals() , mientras que la última, === es equivalente a Java == (comparación de references).

Como sabemos, esto realmente no hace la diferencia con las enumeraciones, como puede leer en esta respuesta .

  • Definir el tipo de retorno de modificación utilizando la interfaz en lugar de la class
  • Android Studio no aplica mis cambios de layout
  • NPE en ojAlgo optimizador cuadrático
  • Usar puntos en identificadores xml
  • Cómo asignar una cadena JSON al map de Kotlin
  • Kotlin cuando con valores múltiples no funciona cuando el valor es una vista de Android
  • cómo convertir la date UTC a locale la hora GMT en Android
  • Kotlin / Java - Datos de la database de testing proporcionados REST API
  • Error al detectar exception en la llamada asíncrona Anko (Kotlin)
  • Kotlin boxed Int no son lo mismo
  • Cómo crear una vista con tabs en anko