我正在学习kotlin,但我很失望,我无法比较两个弦乐.
比较的正确方法是什么.
btn_login.setOnClickListener {
val login = input_email.text.trim()
val pass = input_password.text.trim()
if( login.equals( pass ) ){
startActivity<MainActivity>()
}
if (login?.equals(other = pass)){
startActivity<MainActivity>()
}
if (login == pass){
startActivity<MainActivity>()
}
}
Run Code Online (Sandbox Code Playgroud)
Dmi*_*nko 34
根据结构平等使用的文档==.它被翻译成a?.equals(b) ?: (b === null).
在你的情况下转换登录并从SpannableStringBuilder传递到String.
val login = input_email.text.trim().toString()
Run Code Online (Sandbox Code Playgroud)
Mar*_*ain 10
以下是使用kotlin匹配两个字符串的示例.
如果您正在使用==(双等号)的字符串匹配那么它是比较地址和返回的最大时间错误的结果按Java文档,以便使用等于对同一
如果要使用相等的忽略大小写,则在String的equals方法中传递true
if (s1.equals(s2,true))
Run Code Online (Sandbox Code Playgroud)
另外,你可以在没有布尔值的情况下使用它
if (s1.equals(s2,false)) or if (s1.equals(s2))
Run Code Online (Sandbox Code Playgroud)
补充代码如下
fun main(args: Array<String>) {
val s1 = "abc"
val s2 = "Abc"
if (s1.equals(s2,true))
{
println("Equal")
}
else
{
println("Not Equal")
}
}
Run Code Online (Sandbox Code Playgroud)
隐蔽既SpannableStringBuilder要string与toString,这应该工作.
val login = input_email.text.trim().toString()
val pass = input_password.text.trim().toString()
if (login == pass){
startActivity<MainActivity>()
}
Run Code Online (Sandbox Code Playgroud)
1 ==.:
if ( string1 == string2 ){...}
2 equals.:
指示某个其他对象是否“等于”此对象。实现必须满足以下要求: 自反:对于任何非空引用值 x,x.equals(x) 应返回 true。
对称:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应返回 true
一致:对于任何非空引用值 x 和 y,如果对象的 equals 比较中使用的信息没有被修改,则多次调用 x.equals(y) 一致返回 true 或一致返回 false。
/** * Returns `true` if this string is equal to [other], optionally ignoring character case. * * @param ignoreCase `true` to ignore character case when comparing strings. By default `false`. */
public fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean
Run Code Online (Sandbox Code Playgroud)
3 compareTo.:
public override fun compareTo(other: String): Int
将此对象与指定对象进行比较以了解顺序。如果该对象等于指定的其他对象,则返回零;如果小于其他对象,则返回负数;如果大于其他对象,则返回正数。
public fun String.compareTo(other: String, ignoreCase: Boolean = false): Int
Run Code Online (Sandbox Code Playgroud)
按字典顺序比较两个字符串,可以选择忽略大小写差异
| 归档时间: |
|
| 查看次数: |
29743 次 |
| 最近记录: |