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 hacer un event handling errores en rxjava2 en android
  • No se puede comprimir Rxjava Observables
  • Aplicando transformación a cada elemento en Single <List <T >>
  • OnErrorNotImplementedException utilizando RxJava2 y Retrofit2 Mosby MVI
  • ¿Cómo crear un intervalo infinito observable que emitirá un nuevo object cada intervalo de time?
  • Cómo contar el time de ejecución de lo observable
  • Cambio observable a condición cumplida - RxJava2
  • RxJava2 switchIfEmpty y verificando una ejecución
  • llamar parte de la secuencia una vez con múltiples suscriptores?
  • Cómo hacer que la function regrese Observable
  • Obtiene N últimos objects emitidos por observables en RxJava2