如何检查对象是不是为空

Posted

技术标签:

【中文标题】如何检查对象是不是为空【英文标题】:How do I check if an object is null如何检查对象是否为空 【发布时间】:2020-11-26 16:10:14 【问题描述】:

我有一个 CrudRepository 类,我通过他们的电子邮件地址从中获取员工。

val existingEmployee: Employee? = employeeManagementService.findEmployeeByEmail(employeeData.email)

如何检查 existingEmployee 是否返回 null

【问题讨论】:

【参考方案1】:

你可以试试这个

existingEmployee?.let  

    //Do your stuffs


【讨论】:

【参考方案2】:

您可以使用范围函数:

existingEmployee?.let  it ->
 //Employee not null
 ?: //employee is null

还是走老路:

 if (existingEmployee != null)  

 

【讨论】:

第一种方法奏效了。我使用了第二种方法,无论如何它都会返回true。谢谢。 构造 x?.let ... ?: ... 不起作用!它不等同于 if-else,因为如果 let 块返回非空值,elvis 运算符 后面的代码将被执行。见here @FrankNeblung 如果existingEmployee 对象不为空,则let 范围函数内的代码将执行。我不确切知道 OP 希望他的代码如何执行,我包含 Elvis 运算符只是为了演示可用的选项。 @FrankNeblung elvis 代码将在 x 为 null 或 let 返回 null 时运行。 查看here 正在执行的两个分支【参考方案3】:

文档非常好,我建议您正确阅读。可空性主题在here 讨论,专门回答您的问题:

val b: String? = "Kotlin"
if (b != null && b.length > 0) 
    print("String of length $b.length")
 else 
    print("Empty string")

【讨论】:

以上是关于如何检查对象是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

如何在ios中检查(id)对象是不是为空?

如何在 laravel 中检查模型的对象是不是为空?

检查 GitHub Actions 工作流程中的对象是不是为空

判断字符串为空为 null 为 whitespace 工具类

如何在 iOS 中检查 NSArray 是不是为空或为空?

如何检查 RXSwift 中的 observable 是不是为空?