Kotlin中用于比较equalsIgnoreCase
值的Java String
相当于什么?
我使用过equals
,但它并不区分大小写。
答案 0 :(得分:42)
您可以使用equals
,但请指定ignoreCase
参数:
"example".equals("EXAMPLE", ignoreCase = true)
答案 1 :(得分:3)
通常,您不需要寻找替代方案,因为Kotlin会重用现有的Java类型,例如String
。实际上,这些类型映射到Kotlin内部类型。在String
的情况下,它看起来像这样:
java.lang.String
- > kotlin.String
因此,只有在equalsIgnoreCase
中也提供了所需的方法kotlin.String
,才可以使用。String
。 Kotlin设计者决定提供一个更通用的equals
函数,让你用布尔参数指定不区分大小写。
如果真的有必要,可以随时使用Java ("hello" as java.lang.String).equalsIgnoreCase("Hello")
课程(不推荐使用,IntelliJ会抱怨这个):
kotlin.String
借助扩展功能,我们甚至可以将功能添加到fun String.equalsIgnoreCase(other: String) =
(this as java.lang.String).equalsIgnoreCase(other)
类:
python myapp.py --some_int_arg 3 --noboolean_value
答案 2 :(得分:0)
@hluhovskyi的答案是正确的,但是要在EditText
或TextView
上使用它,请使用以下命令-
etPassword.text.toString().equals(etConfirmPassword.text.toString(), ignoreCase = false)
答案 3 :(得分:0)
根据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 } }
答案 4 :(得分:-1)
您可以使用equals但可以指定ignoreCase参数:
"your string".equals("YOUR STRING", ignoreCase = true)