kir*_*nov 5 boolean predicate chain kotlin
我有一系列谓词子句,像这样
student?.firstName?.equals("John") ?: false &&
student?.lastName?.equals("Smith") ?: false &&
student?.age?.equals(20) ?: false &&
student?.homeAddress?.equals("45 Boot Terrace") ?: false &&
student?.cellPhone?.startsWith("123456") ?: false
Run Code Online (Sandbox Code Playgroud)
我发现可以切换到布尔谓词and()而不是&&,但总的来说,它并没有使代码更简洁。
Kotlin 有没有办法简化这样的表达?
感谢所有参与的人!这是带有注释的代码的最终版本:
student?.run {
firstName == "John" &&
lastName == "Smith" &&
age == 20 &&
homeAddress == "45 Boot Terrace" &&
cellPhone.orEmpty().startsWith("123456")
} ?: false
Run Code Online (Sandbox Code Playgroud)
run {}
在对象上调用作用域函数student
equals
被替换为==
比较布尔值和null
值?: false
。另一种选择是使用== true
,但这取决于您的个人喜好 归档时间: |
|
查看次数: |
2480 次 |
最近记录: |