Java genérico para Kotlin genérico. Retorno genérico del método

Intentando convertir un proyecto de Java a Kotlin.

Me quedé atrapado en un método que devuelve ObservableTransformer de RXJava 2

Java

protected <T> ObservableTransformer<T, T> onNetworkError() { return observable -> observable .doOnError(throwable -> networkError.setValue(throwable)); } 

Convertir esto usando intellij ide arroja un error.

Java a Kotlin usando ide

 protected fun <T> onNetworkError(): ObservableTransformer<T, T> { return { observable -> observable .doOnError({ throwable -> networkError.setValue(throwable) }) } } 

¿Alguien tiene una idea para convertir el código de Java anterior a Kotlin?

Gracias por adelantado

Su código está devolviendo una function que acepta tipo observable de desconocido y devuelve un object Observable .

La expresión lambda que necesita debe ser así:

 protected fun <T> onNetworkError(): ObservableTransformer<T, T> { return ObservableTransformer { observable -> observable .doOnError({ throwable -> networkError.setValue(throwable) }) } } 

Además de la respuesta de BakaWaii desde arriba, puedes simplificar aún más el código de la siguiente manera:

 protected fun <T> onNetworkError(): ObservableTransformer<T, T> { return ObservableTransformer { it.doOnError { networkError.setValue(it) } } } 

Sin embargo, tener dos diferentes puede ser confuso, por lo que es posible que desee dejar uno de ellos como un parámetro explícito.

  • Cómo pasar nulo a un Observable con tipo anulable en RxJava 2 y Kotlin
  • Cómo contar el time de ejecución de lo observable
  • Cómo burlarse del repository reactivo que devuelve Observable
  • RxJava salida diferente entre Flowable y Observable con window y Groupby
  • ¿Cómo se coordina una list de ejecuciones Completables con RxJava?
  • RxJava zipCon error IDE en Kotlin con Android Studio 3.0
  • RxJava manejando múltiples devoluciones de llamada dentro de un observable
  • Cambio observable a condición cumplida - RxJava2
  • Obtiene N últimos objects emitidos por observables en RxJava2
  • Confundido sobre la asignación de la variable RxJava
  • Error "No se puede combinar Dex" al usar Room + Kotlin