Java与Kotlin互调

时间:2025-02-09 08:32:08

Java与Kotlin互相调用

文件:

object KotlinTestMe {
    val sum = {x: Int, y: Int -> x + y}// lamda表达式

}
class MyKotlinClass{
    fun hello(){
        // 在Kotlin中调用Java
        val s = Main.mySum(KotlinTestMe.sum,100,100)
        println(s)
    }
}

文件:

import kotlin.jvm.functions.Function2;

public class Main {

    public static void main(String[] args) {
        // 在Java中调KotlinTestMe对象的sum方法
        int sum = KotlinTestMe.INSTANCE.getSum().invoke(5,6);
        System.out.println(sum);
        // 将KotlinTestMe对象的sum函数作为值传入java的方法中
        int s = Main.mySum(KotlinTestMe.INSTANCE.getSum(),10,10);
        System.out.println(s);
        // 在Java中使用Kotlin的类
        MyKotlinClass myKotlinClass = new MyKotlinClass();
        myKotlinClass.hello();

    }
    public static int mySum(Function2 mySum, int x, int y){
     return (int)mySum.invoke(x,y);
    }
}


谢谢阅读。