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 进行比较。

相关方法

相关推荐
通玄9 分钟前
Jetpack Compose 入门系列(十):Paging 3 分页加载
android
hunterandroid15 分钟前
DataStore 工程化实践:迁移、并发更新与异常恢复
android·前端
我是大卫2 小时前
解析刘震云的《一句顶一万句》,体会人生苍凉
源码阅读
程序员-珍2 小时前
报错下载android sdk失败
android·java
齊家治國平天下4 小时前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
Xzaveir4 小时前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
2501_916007474 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
黄林晴5 小时前
Nearby Connections 重大变更:不再自动开启 Wi-Fi / 蓝牙,适配指南
android
恋猫de小郭5 小时前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
HLC++18 小时前
Linux的进程间通信
android·linux·服务器