小编Jul*_*blo的帖子

可以在Kotlin中调用Java静态方法

假设我们有一个Java静态方法:

//Java code
public static void printFoo() {
    System.out.println("foo");
}
Run Code Online (Sandbox Code Playgroud)

可以在Kotlin中调用该方法吗?

java methods static interop kotlin

3
推荐指数
1
解决办法
6619
查看次数

Kotlin:Upcast和密封课程

我正在使用FunKTionale库来执行模式匹配.然后,当我初始化变量时,如下所示:

private lateinit var socket = Option.None 
Run Code Online (Sandbox Code Playgroud)

以下转换是不可能的:

socket = socket.map {
    selectedDevice.createRfcommSocketToServiceRecord(MY_UUID).apply {
    connect()
    }
}
Run Code Online (Sandbox Code Playgroud)

因为套接字的类型是

Option.None
Run Code Online (Sandbox Code Playgroud)

但是如果我将socket变量初始化为

private lateinit var socket: Option<BluetoothSocket> = Option.None    
Run Code Online (Sandbox Code Playgroud)

地图功能有效.Option.None对象扩展

Option<Nothing>
Run Code Online (Sandbox Code Playgroud)

并被铸造(在这种情况下)

Option<BluetoothSocket>
Run Code Online (Sandbox Code Playgroud)

那么,这怎么可能呢?

kotlin

3
推荐指数
1
解决办法
713
查看次数

标签 统计

kotlin ×2

interop ×1

java ×1

methods ×1

static ×1