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);
}
}
谢谢阅读。