比较字符串Kotlin
我在学习kotlin,但我很失望,我不能比较两个字符串 比较的正确方法是什么比较字符串Kotlin,kotlin,Kotlin,我在学习kotlin,但我很失望,我不能比较两个字符串 比较的正确方法是什么 btn_login.setOnClickListener { val login = input_email.text.trim() val pass = input_password.text.trim() if( login.equals( pass ) ){ startActivity<MainActi
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>()
}
}
btn_login.setOnClickListener{
val login=input_email.text.trim()
val pass=input_password.text.trim()
if(login.equals(pass)){
星触觉()
}
如果(登录?.equals(其他=通过)){
星触觉()
}
如果(登录==通过){
星触觉()
}
}
根据结构平等使用=
。它被转换为a?.equals(b):(b==null)
在您的情况下,将登录名和密码从SpannableStringBuilder转换为字符串
val login = input_email.text.trim().toString()
使用
toString
将SpannableStringBuilder
转换为string
,这应该可以工作
val login = input_email.text.trim().toString()
val pass = input_password.text.trim().toString()
if (login == pass){
startActivity<MainActivity>()
}
val login=input_email.text.trim().toString()
val pass=input_password.text.trim().toString()
如果(登录==通过){
星触觉()
}
带有案例检查
String a=.....
String b=.....
if(a==b){
}
无知的
if(a.equals(b,false))
尝试以下解决方案,看看是否有帮助:
val passStr: String = textView.text.toString()
if( loginStr.compareTo(passStr, false) ){
startActivity<MainActivity>()
}
val passStr:String=textView.text.toString()
if(loginStr.compareTo(passStr,false)){
星触觉()
}
1<代码>=:
if(string1==string2){…}
2<代码>等于:
if (editText1.text.toString() == editText2.text.toString() ) {
println("Should work now! The same value")
}
指示其他对象是否与此对象“相等”。
实施必须满足以下要求:
自反:对于任何非空参考值x,x.equals(x)应
返回true
对称:对于任何非空参考值x和y,x等于(y)
当且仅当y.equals(x)返回true时,应返回true
可传递:对于任何非空参考值x、y和z,如果
x、 equals(y)返回true,y.equals(z)返回true,然后
x、 equals(z)应该返回true
一致:对于任何非空参考值x和y,多个
调用x.equals(y)始终返回true或
返回false,前提是在上的equals比较中未使用任何信息
对象将被修改
3<代码>比较到:
if (editText1.text.toString() == editText2.text.toString() ) {
println("Should work now! The same value")
}
public-override-fun-compareTo(其他:字符串):Int
将此对象与订单的指定对象进行比较。返回零
如果此对象等于指定的其他对象,则为负
如果小于其他值,则为数字;如果大于其他值,则为正数
而不是其他
按字典顺序比较两个字符串,可以选择忽略大小写
分歧
下面是使用kotlin匹配两个字符串的示例 如果您使用==(double equals)来匹配字符串,那么根据java文档比较address&return maximum time错误的结果是错误的,因此使用equals来匹配相同的字符串 如果要使用equal ignore大小写,请在String的equals方法中传递true
if (s1.equals(s2,true))
另一方面,你可以不用像布尔一样使用它
if (s1.equals(s2,false)) or if (s1.equals(s2))
完整代码如下
fun main(args: Array<String>) {
val s1 = "abc"
val s2 = "Abc"
if (s1.equals(s2,true))
{
println("Equal")
}
else
{
println("Not Equal")
}
}
fun main(args:Array){
val s1=“abc”
val s2=“Abc”
如果(s1等于(s2,真))
{
println(“相等”)
}
其他的
{
println(“不相等”)
}
}
试试这个肯定会有用的
val style = buildString { karthik}
val style2 = buildString { karthik }
var result = style.equals(style2)
if(result){//Do something}
我知道这太晚了,但作为一名学习Kotlin的新手,我也有同样的疑问 然后我遇到了这个问题,它清楚地表达了Kotlin中的各种字符串比较类型以及它们之间的差异 简而言之,==和.equals()都可以用来比较kotlin中两个字符串的值
希望这能有所帮助
if (editText1.text.toString() == editText2.text.toString() ) {
println("Should work now! The same value")
}
=
是正确的方法。@Naetmul不适用于我的代码。。。检查图像您可以转换为.toString并使用==运算符进行检查?@ShankarKoirala工作。。。请不要失望:(为什么要“尝试”?一个好的答案总会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,也是为了SO的未来访客。请添加一些描述,让其他人理解。:)我已经用一些解释更新了答案&谢谢你的感谢。:)你的回答不正确。使用==
运算符比较字符串会在运算符检查结构相等性时自动转换为.equals()
调用()