我是Kotlin的新手,我正在寻找帮助,以使下面的代码更优雅.
var s: String? = "abc"
if (s != null && s.isNotEmpty()) {
// Do something
}
如果我使用以下代码:
if (s?.isNotEmpty()) {
编译器会抱怨
Required: Boolean
Found: Boolean?
Thanks.
我是Kotlin的新手,我正在寻找帮助,以使下面的代码更优雅.
var s: String? = "abc"
if (s != null && s.isNotEmpty()) {
// Do something
}
如果我使用以下代码:
if (s?.isNotEmpty()) {
编译器会抱怨
Required: Boolean
Found: Boolean?
Thanks.
You can use isNullOrEmpty
or its friend isNullOrBlank
like so:
if(!s.isNullOrEmpty()){
// s is not empty
}
isNullOrEmpty
和isNullOrBlank
都是CharSequence?
上的扩展方法,因此您可以在null
上安全地使用它们.或者将null
变成false,如下所示:
if(s?.isNotEmpty() ?: false){
// s is not empty
}
您还可以执行以下操作
if(s?.isNotEmpty() == true){
// s is not empty
}