如何在 Kotlin 中检查等效项

how to check equivalent in Kotlin

我从服务器获得了一些数据,我想将它与我从 EditText 获得的数据进行比较。 我的服务器端非常简单:

<?php 
   echo "123456789";
?> 

我的 Kotlin 客户端是:

if (it==password){
                startActivity(intent)
                finish()
            }

'it' 指的是 Volley StringRequest 响应,'password' 是从 EditText 中提取的文本,如下所示:

val password=userPassword.text.toString()

但这两个永远不会相等,即使我写的正好是 123456789

尝试it.compareTo()作为条件:

// it.compareTo(password) == 0
it.compareTo(password).compareTo(0)

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-comparable/compare-to.html

abstract operator fun compareTo(other: T): Int

Compares this object with the specified object for order.

Returns

  • 如果此对象等于指定的其他对象 (0),则为零,

  • 一个负数,如果它小于其他 (-32),

  • 或大于其他数 (32) 的正数。

我找到了:虽然服务器 returns 正好 "123456789" 但我不知道为什么凌空响应在答案的末尾有白色 space,所以答案是: "123456789 "

所以我修剪了响应字符串的末尾并且它起作用了!