Kotlin 与java互相调用 之 java调用Kotlin的函数

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin 与java互相调用 之 java调用Kotlin的函数相关的知识,希望对你有一定的参考价值。

kt

class KTHero 
    val translator =  utterance: String ->
        println(utterance)
    
    val translator2 =  utterance: String ,test: Int->
        println(utterance)
        println(test)
    

java

import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;

public class JavaMan 
    public static void main(String[] args) 
        KTHero hero = new KTHero();
        Function1<String, Unit> translator = hero.getTranslator();
        translator.invoke("Hello, world!");
        Function2<String, Integer, Unit> translator2 = hero.getTranslator2();
        translator2.invoke("Hello, world!", 2);
    

 

kt给java预留了很多类

 长到22个参数这样

Function22
/** A function that takes 22 arguments. */
public interface Function22<in P1, in P2, in P3, in P4, in P5, in P6, in P7, in P8, in P9, in P10, in P11, in P12, in P13, in P14, in P15, in P16, in P17, in P18, in P19, in P20, in P21, in P22, out R> : Function<R> 
    /** Invokes the function with the specified arguments. */
    public operator fun invoke(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18, p19: P19, p20: P20, p21: P21, p22: P22): R

以上是关于Kotlin 与java互相调用 之 java调用Kotlin的函数的主要内容,如果未能解决你的问题,请参考以下文章

KotlinKotlin 与 Java 互操作 ③ ( Kotlin 中处理 Java 异常 | Java 中处理 Kotlin 异常 | @Throws 注解处理异常 | 函数类型互相操作 )

Kotlin 与 Java 相互调用

深入kotlin - 与Java互操作:kotlin调用java

深入kotlin - 与Java互操作:kotlin调用java

深入kotlin - 与Java互操作:kotlin调用java

深入kotlin - 与Java互操作:kotlin调用java