conversione di java.util.function.Function al tipo di interfaccia funzionale di Kotlin

sto lavorando con due moduli che sono codificati in Java e Kotlin, rispettivamente, quindi richiedono un po ‘di interoperabilità.

in uno dei casi il modulo java restituisce interfacce funzionali con il tipo java.util.function.Function, che deve essere consumato dal codice Kotlin.

potrei usare il tipo java così com’è. tuttavia, vorrei essere in grado di lanciare questo al tipo nativo di Kotlin, sia esso kotlin.Function o kotlin.reflect.KFunction. il motivo alla base è di poter supportare un modulo Kotlin simile a quello java, che affiora funzioni per il client.

c’è un modo per farlo?

EN From: Converting java.util.function.Function to Kotlin’s functional interface type

More similar articles:

1 Comment

  1. non si può gettare tra di loro, sono solo due interfacce diverse. ma è banale scrivere funzioni di conversione:

    import java.util.function.Function
    
    fun <A, B> Function<A, B>.toKotlin(): (A) -> B = { this.apply(it) }
    
    fun <A, B> ((A) -> B).toJava(): Function<A, B> = Function { this(it) }

    kotlin-stdlib-jdk8 potrebbe fornire questi, ma non sembra.

    e naturalmente, è possibile utilizzare sia i riferimenti di metodo Kotlin e Java per entrambi nella maggior parte delle circostanze.

Leave a Reply

Your email address will not be published. Required fields are marked *