我想否定以下表达式:
return SpUtils.loadEMail()?.isEmpty() ?: false
如果我加一个!在表达之前,像
return !SpUtils.loadEMail()?.isEmpty() ?: false
IDE(Android Studio)告诉我
在类型为kotlin.Boolean的可为空的接收器上仅允许安全(?。)或非null断言(!!。)调用。
我如何否定这种表达?
您对可为空的引用有疑问。
SpUtils.loadEMail()?.isEmpty()
此代码产生布尔类型的值?这意味着表达式可以返回Boolean或null的实例。
我建议使用以下代码来解决您的问题:
return !(SpUtils().loadEMail()?.isEmpty() ?: false);
您尝试否定布尔值吗?Elvis运算符返回布尔值,而不是Boolean!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句