如何解决如何使用 Kotlin 在此函数中实现非空返回?
lateinit var x:String
private fun defineTheIDofTheRoom ():String {
while (x != "") {
x = intent.getStringExtra("ID1")!!
x = intent.getStringExtra("ID2")!!
x = intent.getStringExtra("ID3")!!
x = intent.getStringExtra("ID4")!!
}
return x
}
//我希望这个函数给我一个不为空的结果(字符串),我将在其他地方使用它。其中 3 个将给空作为结果,只有其中一个不为空...如果有人可以帮助我会很高兴从现在开始非常感谢...
解决方法
您可以像这样将 component.ts
this.dropdownForm.get('form2').reset()
HTML
<select id="form1"
(change)="changeONE($event)" formControlName='form1'>
放在 return x
块之外
while
,
其中 3 个结果会为 null,只有一个不为 null...
事情就在这里,代码在第一次尝试之后甚至没有通过其他人..所以我猜问题是为什么在我的while块中它执行第一行而不是其他,也许我在while块中有错误?
如果前 3 个实际上不是 null,它们会为 x
赋值,但该值将立即被覆盖;
x = intent.getStringExtra("ID1")!!
x = intent.getStringExtra("ID2")!!
x = intent.getStringExtra("ID3")!!
行是在其中任何一个是 null
时抛出异常。我怀疑你想要
x = (intent.getStringExtra("ID1") ?: intent.getStringExtra("ID2") ?: intent.getStringExtra("ID3") ?: intent.getStringExtra("ID4"))!!
并且没有 while
循环。如果所有 4 个都是 !!
和 null
,否则我只会在您特别想崩溃时使用最后一个 ?: "some default case"
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。