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 進行比較。