Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

244
Views
Converting java.util.function.Function to Kotlin's functional interface type

I am working with two modules that are coded in Java and Kotlin respectively, hence require some bit of interoperability.

In one of the cases the java module returns functional interfaces with the type java.util.function.Function, which is to be consumed by the kotlin code.

I could use the java type as it is. However, I would like to be able to cast this to kotlin's native type, be it kotlin.Function or kotlin.reflect.KFunction. The reason behind doing so is to be able to support a similar kotlin module as that of the java one, which surfaces functions for the client.

Is there any way to do this?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You can't cast between them, they are just two different interfaces. But it's trivial to write conversion functions:

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 could provide these, but doesn't seem to.

And of course, you can just use both Kotlin and Java lambdas/method references for both in most circumstances.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!