Kotlin contentEquals用法及代码示例

本文方法及代码示例基于Kotlin 2.1.20 Released

contentEquals 所在包 kotlin.text.contentEquals,其相关用法介绍如下:

用法一

kotlin 复制代码
infix fun CharSequence?.contentEquals(
    other: CharSequence?
): Boolean
适用于 Common、JS、Native

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

代码示例:

kotlin 复制代码
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相同。

代码示例:

kotlin 复制代码
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

用法二

kotlin 复制代码
fun CharSequence?.contentEquals(
    other: CharSequence?, 
    ignoreCase: Boolean
): Boolean
适用于 Common、JS、Native

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

代码示例:

kotlin 复制代码
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 相同。

代码示例:

kotlin 复制代码
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比较内容时忽略字符大小写。

用法三

kotlin 复制代码
fun String.contentEquals(charSequence: CharSequence): Boolean

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

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

用法四

kotlin 复制代码
fun String.contentEquals(
    stringBuilder: StringBuffer
): Boolean

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

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

相关方法

相关推荐
stevenzqzq13 小时前
android启动初始化和注入理解3
android
城东米粉儿15 小时前
compose 状态提升 笔记
android
粤M温同学15 小时前
Android 实现沉浸式状态栏
android
ljt272496066116 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack
stevenzqzq16 小时前
Android Studio 断点调试核心技巧总结
android·ide·android studio
aqi0017 小时前
FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut
android·ffmpeg·kotlin·音视频·直播·流媒体
stevenzqzq18 小时前
android Initializer 启动入门
android
·云扬·18 小时前
系统与MySQL核心监控指标及操作指南
android·数据库·mysql
冬奇Lab19 小时前
【Kotlin系列01】Kotlin快速入门:环境搭建与Hello World
android·kotlin·android studio