4

我想用来let检查两个条件让我们说如果我必须使用if那么这就是条件

if (it.data != null && !it.data!!.name.isEmpty()) {}

我怎样才能将它转换为使用let 我知道检查 null 这就是我们所做的

it.data?.let {}

但我不知道如何检查第二部分,即字符串是否为空。请记住,我必须检查它data不为空data.name且不为空

任何帮助将不胜感激

4

3 回答 3

11

对于您的具体情况,您可以使用takeIf

it.data
   ?.takeIf { data ->  data.name.isNotEmpty() }
   ?.let { data -> ...}
于 2021-01-12T08:41:44.453 回答
0

我宁愿没有let

if (it.data?.name?.isNotEmpty() == true) {
   // data is not null and name is not empty
}
于 2021-01-12T09:09:08.647 回答
0

希望以下代码段对您有所帮助:

it.data?.name?.isNotEmpty(){}
于 2021-01-12T10:41:19.307 回答