Kotlin相当于Java的equalsIgnoreCase


Answers:


140

您可以使用equals但指定ignoreCase参数:

"example".equals("EXAMPLE", ignoreCase = true)

2

通常,您不需要寻找替代方法,因为Kotlin会重用现有的Java类型,例如String。实际上,这些类型映射到Kotlin内部类型。在这种情况下,String如下所示:

java.lang.String -> kotlin.String

因此,equalsIgnoreCase只有在中也没有提供所需的方法时,该方法才可用kotlin.String。Kotlin设计师决定提供一个更通用的equals函数,让您使用布尔参数指定不区分大小写。

String如果确实需要,您可以随时使用Java类(不建议这样做,IntelliJ会抱怨这一点):

("hello" as java.lang.String).equalsIgnoreCase("Hello")

借助扩展功能,我们甚至可以将功能添加到kotlin.String类中:

fun String.equalsIgnoreCase(other: String) = 
    (this as java.lang.String).equalsIgnoreCase(other)

Kotlin实现了equalIgnoreCase函数,但是以自己的方式稍有更改,即对于忽略大小写为“ str1” .equal(“ Str1”,true),对于匹配大小写为“ str1” .equal(“ Str1”,false)。第二个参数是可选的,您可以跳过它。默认情况下,它为false并适用于比赛案例
Abdur Ra​​hman


1

@hluhovskyi的答案是正确的,但是要在EditText或上使用它TextView,请使用以下命令-

etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.