【发布时间】:2016-01-24 14:17:12
【问题描述】:
我正在使用 FunKTionale 库来执行模式匹配。然后,当我如下初始化一个变量时:
private lateinit var socket = Option.None
下面的转换是不可能的:
socket = socket.map {
selectedDevice.createRfcommSocketToServiceRecord(MY_UUID).apply {
connect()
}
}
因为socket的类型是
Option.None
但是如果我将套接字变量初始化为
private lateinit var socket: Option<BluetoothSocket> = Option.None
地图功能有效。 Option.None 对象扩展
Option<Nothing>
并被强制转换为(在这种情况下)
Option<BluetoothSocket>
那么,这怎么可能呢?
【问题讨论】:
标签: kotlin