contentEquals所在位置是kotlin.text.contentEquals,其相关用法介绍如下。

用法一

infix fun CharSequence?.contentEquals(
    other: CharSequence?
): Boolean
适用于 Common、JS、Native

如果此 char 序列的内容等于指定的 other 的内容,则返回 true,即两个 char 序列以相同的顺序包含相同数量的相同字符。

例子:

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val stringBuilder = StringBuilder()
stringBuilder.append("Kot").append("lin")
println(stringBuilder) // Kotlin
println("stringBuilder contentEquals \"Kotlin\" is ${stringBuilder contentEquals "Kotlin"}") // true

stringBuilder.setCharAt(0, 'k')
println(stringBuilder) // kotlin
println("\"Kotlin\".contentEquals(stringBuilder) is ${"Kotlin".contentEquals(stringBuilder)}") // false
println("\"Kotlin\".contentEquals(stringBuilder, ignoreCase = true) is ${"Kotlin".contentEquals(stringBuilder, ignoreCase = true)}") // true
//sampleEnd
}

输出:

Kotlin
stringBuilder contentEquals "Kotlin" is true
kotlin
"Kotlin".contentEquals(stringBuilder) is false
"Kotlin".contentEquals(stringBuilder, ignoreCase = true) is true
对于 JVM

如果此 char 序列的内容等于指定的 other 的内容,则返回 true,即两个 char 序列以相同的顺序包含相同数量的相同字符。

如果此 CharSequenceString 并且 other 不是 null 则此函数的行为与 String.contentEquals 相同。

例子:

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val stringBuilder = StringBuilder()
stringBuilder.append("Kot").append("lin")
println(stringBuilder) // Kotlin
println("stringBuilder contentEquals \"Kotlin\" is ${stringBuilder contentEquals "Kotlin"}") // true

stringBuilder.setCharAt(0, 'k')
println(stringBuilder) // kotlin
println("\"Kotlin\".contentEquals(stringBuilder) is ${"Kotlin".contentEquals(stringBuilder)}") // false
println("\"Kotlin\".contentEquals(stringBuilder, ignoreCase = true) is ${"Kotlin".contentEquals(stringBuilder, ignoreCase = true)}") // true
//sampleEnd
}

输出:

Kotlin
stringBuilder contentEquals "Kotlin" is true
kotlin
"Kotlin".contentEquals(stringBuilder) is false
"Kotlin".contentEquals(stringBuilder, ignoreCase = true) is true

用法二

fun CharSequence?.contentEquals(
    other: CharSequence?, 
    ignoreCase: Boolean
): Boolean
适用于 Common、JS、Native

如果此 char 序列的内容等于指定的 other 的内容,则返回 true ,可选择忽略大小写差异。

例子:

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val stringBuilder = StringBuilder()
stringBuilder.append("Kot").append("lin")
println(stringBuilder) // Kotlin
println("stringBuilder contentEquals \"Kotlin\" is ${stringBuilder contentEquals "Kotlin"}") // true

stringBuilder.setCharAt(0, 'k')
println(stringBuilder) // kotlin
println("\"Kotlin\".contentEquals(stringBuilder) is ${"Kotlin".contentEquals(stringBuilder)}") // false
println("\"Kotlin\".contentEquals(stringBuilder, ignoreCase = true) is ${"Kotlin".contentEquals(stringBuilder, ignoreCase = true)}") // true
//sampleEnd
}

输出:

Kotlin
stringBuilder contentEquals "Kotlin" is true
kotlin
"Kotlin".contentEquals(stringBuilder) is false
"Kotlin".contentEquals(stringBuilder, ignoreCase = true) is true

参数

ignoreCase-true比较内容时忽略字符大小写。

对于 JVM

如果此 char 序列的内容等于指定的 other 的内容,则返回 true ,可选择忽略大小写差异。

如果此 CharSequenceStringother 不是 null 并且 ignoreCasefalse 那么此函数的行为与 String.contentEquals 相同。

例子:

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val stringBuilder = StringBuilder()
stringBuilder.append("Kot").append("lin")
println(stringBuilder) // Kotlin
println("stringBuilder contentEquals \"Kotlin\" is ${stringBuilder contentEquals "Kotlin"}") // true

stringBuilder.setCharAt(0, 'k')
println(stringBuilder) // kotlin
println("\"Kotlin\".contentEquals(stringBuilder) is ${"Kotlin".contentEquals(stringBuilder)}") // false
println("\"Kotlin\".contentEquals(stringBuilder, ignoreCase = true) is ${"Kotlin".contentEquals(stringBuilder, ignoreCase = true)}") // true
//sampleEnd
}

输出:

Kotlin
stringBuilder contentEquals "Kotlin" is true
kotlin
"Kotlin".contentEquals(stringBuilder) is false
"Kotlin".contentEquals(stringBuilder, ignoreCase = true) is true

参数

ignoreCase-true比较内容时忽略字符大小写。

用法三

fun String.contentEquals(charSequence: CharSequence): Boolean

如果此字符串等于指定的 CharSequence 的内容,则返回 true,否则返回 false

请注意,如果CharSequence 参数是StringBuffer,则可以在获取该StringBuffer 的监视器的同步块中执行比较。

用法四

fun String.contentEquals(
    stringBuilder: StringBuffer
): Boolean

如果此字符串等于指定的 StringBuffer 的内容,则返回 true,否则返回 false

此函数在获取该 StringBuffer 的监视器的同步块中将此字符串与指定的 StringBuffer 进行比较。