如何在 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 "
所以我修剪了响应字符串的末尾并且它起作用了!
我从服务器获得了一些数据,我想将它与我从 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 "
所以我修剪了响应字符串的末尾并且它起作用了!