美文网首页
kotlin对Java函数式API的使用

kotlin对Java函数式API的使用

作者: 别看后面有人 | 来源:发表于2021-06-10 21:56 被阅读0次

kotlin调用Java的时候可以用函数式API,但是有一定的限制。如果Kotlin调用java方法,并且该方法接收一个Java单抽象方法接口参数,就可以使用函数式API,Java单抽象方法是接口只有一个待实现方法,如果多个待实现方法,则无法使用
java中最常见的单抽象方法接口——Runnable接口,这个接口只有一个待实现方法run()
我们常见的类Thread类接收Runnable参数。

 new Thread(new Runnable(){
            @Override
            public void run() {
                
            }
        }).start();

这是java代码创建并执行的一个子线程,使用的是匿名内部类的写法,我们创建一个Runnable接口的匿名类实例,并把它传给Thread类的构造方法,最后调用start
()方法执行

kotlin的版本,写法如下:

Thread(object :Runnable{
        override fun run() {
            TODO("Not yet implemented")
        }
    }).start()

如果java方法中的参数列表中有且仅有一个Java单抽象方法接口参数,这样接口名就可以省略,代码更加精简

Thread(Runnable{
     println("do thread")
 }).start()

相关文章

网友评论

      本文标题:kotlin对Java函数式API的使用

      本文链接:https://www.haomeiwen.com/subject/pqtpeltx.html