微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从Kotlin中的旧字符串创建新字符串

如何解决如何从Kotlin中的旧字符串创建新字符串

我已经使用replace从旧字符串InvitationCode中创建了一个新字符串vitalToken,但是没有在startmeet函数中传递InvitationToken的值。

(deepLink?.getQueryParameter("inviteCode")?.substringBefore("?invitetoken=","") + deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","invitetoken") ).let {startMeet(it)}

函数startmeet中传递字符串值时。其显示错误:没有为参数InvitationToken传递值

这是startmeet的代码

private fun startMeet(inviteCode: String,invitetoken: String) {


    MyUtils.joinmeet(
        this,inviteCode,invitetoken
    ) 



}

解决方法

简化代码可以帮助您了解正在发生的事情

PS:下面的答案仅基于您要实现的目标的假设

val str = (deepLink?.getQueryParameter("inviteCode")?.substringBefore("?inviteToken=","") + deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","inviteToken") )

上面的行仅返回一个String值,对该变量调用let只会给您一个值。

假设您希望上述语句中的两个值都作为单独的字符串值

val inviteCode = deepLink?.getQueryParameter("inviteCode")?.substringBefore("?inviteToken=","")
val inviteToken = deepLink?.getQueryParameter("inviteCode")?.replace("inviteCode","inviteToken")

并假设let被(错误地)用于空值检查

if(inviteCode !=null && inviteToken != null) {
  startMeet(inviteCode,inviteToken)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。