在Kotlin中,比较String值的Java equalsIgnoreCase的等价物是什么?我使用了equals,但它不区分大小写。
String
equalsIgnoreCase
equals
8cdiaqws1#
可以使用equals,但要指定ignoreCase参数:
ignoreCase
"example".equals("EXAMPLE", ignoreCase = true)
tjrkku2a2#
根据Kotlin文件:
fun String?.equals( other: String?, ignoreCase: Boolean = false ): Boolean
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html例如:
val name: String = "Hitesh" when{ name.equals("HITESH", true) -> { // DO SOMETHING } }
1wnzp6jl3#
@hluhovskyi的答案是正确的,但是要在EditText或TextView上使用它,请使用以下命令-
EditText
TextView
etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = true)
ne5o7dgx4#
就我而言,
string1.contains(string2, ignoreCase = true)
这对我很有效。因为我在这里使用了搜索功能。
b1uwtaje5#
通常情况下,Kotlin重用现有的Java类型,如String,因此不需要寻找替代类型。实际上,这些类型Map到Kotlin内部类型。在String的情况下,如下所示:java.lang.String-〉kotlin.String因此,所需的equalsIgnoreCase方法只有在kotlin.String中也提供时才可用,而实际上kotlin.String中没有。Kotlin的设计者决定提供一个更通用的equals函数,让我们用一个布尔参数指定大小写不敏感性。如果确实需要,您可以随时使用Java String类(不推荐,IntelliJ会对此提出抱怨):
java.lang.String
kotlin.String
("hello" as java.lang.String).equalsIgnoreCase("Hello")
在扩展函数的帮助下,我们甚至可以向kotlin.String类添加以下功能:
fun String.equalsIgnoreCase(other: String) = (this as java.lang.String).equalsIgnoreCase(other)
6kkfgxo06#
您可以创建一个扩展方法:
/** * Shortcut to compare strings while ignoring case */ fun String.similarTo(aString: String): Boolean { return equals(aString,true) }
用法:
val upperCase = "ϴẞ" val lowerCase = "θß" if (upperCase.similarTo(lowerCase)) { // Do your thing… }
6条答案
按热度按时间8cdiaqws1#
可以使用
equals
,但要指定ignoreCase
参数:tjrkku2a2#
根据Kotlin文件:
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html
例如:
1wnzp6jl3#
@hluhovskyi的答案是正确的,但是要在
EditText
或TextView
上使用它,请使用以下命令-ne5o7dgx4#
就我而言,
这对我很有效。因为我在这里使用了搜索功能。
b1uwtaje5#
通常情况下,Kotlin重用现有的Java类型,如
String
,因此不需要寻找替代类型。实际上,这些类型Map到Kotlin内部类型。在String
的情况下,如下所示:java.lang.String
-〉kotlin.String
因此,所需的
equalsIgnoreCase
方法只有在kotlin.String
中也提供时才可用,而实际上kotlin.String
中没有。Kotlin的设计者决定提供一个更通用的equals
函数,让我们用一个布尔参数指定大小写不敏感性。如果确实需要,您可以随时使用Java
String
类(不推荐,IntelliJ会对此提出抱怨):在扩展函数的帮助下,我们甚至可以向
kotlin.String
类添加以下功能:6kkfgxo06#
您可以创建一个扩展方法:
用法: