我有这种实现方式
Toast.makeText(activity,arguments?.get("message") as String, Toast.LENGTH_SHORT).show()
所以,我想在这里使用Elvis Operator(?:),以便在toast中显示的值为Null时使用某些default字符串。我无法正确实施。因此,如何在同一行代码中实现它?另外,什么是更好的方法呢?谢谢。
您可以这样操作:
Toast.makeText(activity, arguments?.get("message") ?: "default message", Toast.LENGTH_SHORT).show()
将猫王运算符简单地放在可为空的get调用之后:
Toast.makeText(activity, arguments?.get("message") ?: "Default value", Toast.LENGTH_SHORT).show()
以下是一些观察结果:
null ?: "default"
等于default
"valid str" ?: "default"
等于valid str
大概是这样的
Toast.makeText(activity,arguments!!.get("message") ?: "default", Toast.LENGTH_SHORT).show()
使用?
时,它只会忽略null,但是在!!
上,必须处理后退。