[Android(Kotlin)Toast使用Elvis运算符在意图/参数中的值为Null时使用默认字符串值

问题描述 投票:-2回答:3

我有这种实现方式

Toast.makeText(activity,arguments?.get("message") as String, Toast.LENGTH_SHORT).show()

所以,我想在这里使用Elvis Operator(?:),以便在toast中显示的值为Null时使用某些default字符串。我无法正确实施。因此,如何在同一行代码中实现它?另外,什么是更好的方法呢?谢谢。

android kotlin android-intent arguments toast
3个回答
1
投票

您可以这样操作:

Toast.makeText(activity, arguments?.get("message") ?: "default message", Toast.LENGTH_SHORT).show()

1
投票

将猫王运算符简单地放在可为空的get调用之后:

Toast.makeText(activity, arguments?.get("message") ?: "Default value", Toast.LENGTH_SHORT).show()

以下是一些观察结果:

  • [null ?: "default"等于default
  • ["valid str" ?: "default"等于valid str

-2
投票

大概是这样的

Toast.makeText(activity,arguments!!.get("message") ?: "default", Toast.LENGTH_SHORT).show()

使用?时,它只会忽略null,但是在!!上,必须处理后退。

© www.soinside.com 2019 - 2024. All rights reserved.