var left: Node? = null
fun show() {
if (left != null) {
queue.add(left) // ERROR HERE
}
}
我知道left
是可变变量,但我显式检查了left!=null
并且left
是node
类型,那么为什么不能智能转换为该类型呢?
我怎样才能把它修好呢?
在执行left!=null
和queue.add(left)
之间,另一个线程可能将left
的值更改为null
。
要解决这个问题,您有几个选择。以下是一些:
>
使用带有智能强制转换的局部变量:
val node = left
if (node != null) {
queue.add(node)
}
left?.let { node -> queue.add(node) }
left?.let { queue.add(it) }
left?.let(queue::add)
queue.add(left ?: return)
所以我最近开始学习Kotlin,我正在学习Java语言的Android Studio教程。我最终使用Android Studio将Java文件转换为Kotlin。 如何修复此错误?
我还在另一个类中使用了bitmap2和Bitmap1: 这里写着:类型不匹配,必需:位图找到:位图?
我正在用kotlin为android制作一个小型tasker。我将主要活动分成一些片段,然后为每个片段创建一个视图模型。但是现在这里出现了一个问题。 下面是一些代码: 我本来希望在observer方法的帮助下在主屏幕上看到一些创建的单选按钮,但是我得到了一个例外,这在问题的标题中提到。提前感谢您的帮助!
为什么当我使用No.2脚本时Android Studio显示错误。我发现1和2之间没有区别。 请解释这个案例
我尝试将我的代码从java转换为kotlin,因此我面临这个错误。我不明白为什么我会得到这个错误 错误 我只是附加给我一个错误的代码并突出显示它
智能转换为“GridLayoutManager”是不可能的,因为“ViewManager”是一个可变属性,此时可能已更改 是错误,AndroidStudio显示时,试图添加一个除法器到我的回收视图。 PixelsFragment.kt 我找到了这个答案,它说这样的问题可能是因为在执行该行时变量可能碰巧为< code>null,然后他们提供了3个解决方案。然而,根据我的理解,< code>viewM