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 .

  • onCreate en la actividad padre abstracta no llamada en kotlin
  • ¿Manera de Kotlin de filtrar valores máximos de 2 arrays?
  • El uso de más es igual al operador con bytes
  • Obteniendo respuesta HTML / JSON original por error con Retrofit 2 y Kotlin
  • Crear class extender AsyncTask sin fugas de objects de context en Android Kotlin
  • Cómo fusionar 2 flujos separados, almacenar los datos rellenos y subscribirlos después de un time corto
  • La 'anulación' del modificador no es aplicable a 'getter'
  • Inicialización de val por desestructuración en Kotlin
  • Anulando la misma firma de diferentes intefaces
  • Cómo agregar múltiples datos históricos a GoogleFit
  • Función que muestra comportamientos misteriosos