在Java中,我们总是被提醒myString.isEmpty()用来检查String是否为空.在科特林然而,我发现,你可以使用myString == ""或myString.isEmpty()甚至myString.isBlank().
对此有任何指导/建议吗?或者它只是"任何晃动你的船"?
提前感谢我的好奇心.:d
只是fyi,这是我在StackOverflow上的第一个问题,我在Kotlin中真的很新.
在完成一个完全是Kotlin的项目(版本1.1.3-2)时,我看到以下代码的警告(带有好奇小伙伴的评论):
// Code below is to handle presses of Volume up or Volume down.
// Without this, after pressing volume buttons, the navigation bar will
// show up and won't hide
val decorView = window.decorView
decorView
.setOnSystemUiVisibilityChangeListener { visibility ->
if (visibility and View.SYSTEM_UI_FLAG_FULLSCREEN === 0) {
decorView.systemUiVisibility = flags
}
}
Run Code Online (Sandbox Code Playgroud)
警告是为了可见性而View.SYSTEM_UI_FLAG_FULLSCREEN === 0,它表示不推荐使用Int和Int类型的参数的标识相等性.
我应该如何更改代码?为什么它首先被弃用(出于知识的缘故)?
在开发过程中,我发现与使用when相比,使用看起来更好if-else.所以,我很好奇在简单的情况下使用when而不是典型if-else的情况会对性能产生影响(即使它很小).一个例子是:
val someNumber = when (someObject) {
null -> 0
else -> someCalculation()
}
Run Code Online (Sandbox Code Playgroud)
与
val someNumber = if (someObject == null) {
0
} else {
someCalculation()
}
Run Code Online (Sandbox Code Playgroud)
两者之间有性能差异吗?