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 {}在对象上调用作用域函数studentequals被替换为==比较布尔值和null值?: false。另一种选择是使用== true,但这取决于您的个人喜好| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |