我有一个对象列表,例如:
val companies = listOf(
Company(id = "1", name = "IBM"),
Company(id = "2", name = "Apple"))
接下来,我想通过name
条件从这个列表中找到一个对象,并获取找到的对象的一个id
字段的值。所以,我find
在列表中使用函数调用:
val companyId = companies.find { it.name == "IBM" }.id
但是这个不能编译在可以为空的接收器上只允许安全或非调用调用。那么,我应该如何处理可能的null
回报find
?我尝试使用 Elvis 运算符返回一个空字符串,否则,例如:
val companyId = companies.find { it.name == "IBM" }.id ?: ""
但这仍然无法编译。