Obligatorio <Objeto> y encontrado <Objeto>?

class TaskRepo(taskData: TaskData) { companion object { private val repoByTask: LRUMap<String, OrderFormRepo> = LRUMap(2, 10); fun getInstance(taskData: TaskData): OrderFormRepo { if (notFoundObject(taskData.taskId)) { repoByTask[taskData.taskId] = OrderFormRepo(taskData); } return repoByTask[taskData.taskId];//PROBLEM HERE } private fun notFoundObject(taskId: String): Boolean { if (repoByTask.containsKey(taskId) && repoByTask[taskId] != null) { return false } return true } } 

}

en el método getInstance del object complementario, estoy obteniendo un error de time de compilation : ¿Se requiere TaskRepo y encontré TaskRepo?

LRUMap implementa la interfaz Map , cuyo método get en Kotlin devuelve una V? , ya que devuelve null cuando no hay ningún elemento presente para la key dada.

Como ya ha hecho la verificación de antemano en este caso, puede estar razonablemente seguro (suponiendo que no haya otros subprocesss modificando el map al mismo time) de que este valor no será nulo y forzará una conversión a la que no admite nulos. escribe con el !! operador :

 return repoByTask[taskData.taskId]!! 

Para otras forms de manejar una key faltante al leer desde un Map , vea los methods getOrDefault y getOrElse .

  • La suscripción de rx kotlin no funciona, no recibe artículos
  • Múltiples requestes de modificación2 usando Flowable en Kotlin
  • OnComplete nunca se llamó con toSortedList () y groupBy ()
  • RxJava (Kotlin), Observable.amb y PublishSubject no están disparando
  • ¿Cómo escalar dinámicamente el rebote de la stream de emisión de ráfagas?
  • RxJava- Gire Observable en Iterator, Stream o Sequence
  • Para una function de Kotlin utilizada como expresión, ¿hay una forma concisa de operar y devolver un valor?
  • Kotlin con stack RxKotlinFX da un error de class de acceso
  • La biblioteca de Kotlin 'rxkotlin-0.21.0.jar' tiene un formatting no compatible. Actualice la biblioteca o el complemento
  • Excepción causada por: java.lang.ClassNotFoundException: org.reactivestreams.Publisher
  • Cómo pasar nulo a un Observable con tipo anulable en RxJava 2 y Kotlin