gpt4 book ai didi

intellij-idea - 为什么在 IntelliJ 中为 "Smart cast to kotlin.String"

转载 作者:行者123 更新时间:2023-12-03 17:33:27 25 4
gpt4 key购买 nike

我用可为空的参数编写了我的类

class MyClass(a: String? = null) {
var b: String

init {
if( a == null ) {
b = "N/A"
}
else {
b = a
}
}
}

并注意到,IntelliJ 警告 b = a任务
Smart cast to kotlin.String

为什么会出现此警告以及如何避免它?

最佳答案

这不是警告,只是编译器知道您的变量 a 的信息不是 null .因此,它可以用作 String而不是可以为空 String?因此没有安全运算符(operator),例如

否则,您需要显式转换 a: String?String为了使其可分配给 String变量 b ,如下面的截图所示:

enter image description here

关于intellij-idea - 为什么在 IntelliJ 中为 "Smart cast to kotlin.String",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48489253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com