📅  最后修改于: 2023-12-03 15:09:45.510000             🧑  作者: Mango
Scala中的String类提供了一个名为contentEquals()
的方法,以比较字符串是否相等。它比较两个字符串的字符序列是否一致,而不考虑字符串是否相同。
语法:
def contentEquals(cs: CharSequence): Boolean
其中,参数cs
是要比较的CharSequence对象。
返回类型:Boolean,值为True表示相等,False表示不相等。
以下是contentEquals()
方法的示例程序:
object Test {
def main(args: Array[String]) {
val str1 = "hello world"
val str2 = new StringBuilder("hello world")
val str3 = "Hello WORLD"
val str4 = "hello"
println("str1 equals str2: " + str1.contentEquals(str2))
println("str1 equals str3: " + str1.contentEquals(str3))
println("str1 equals str4: " + str1.contentEquals(str4))
}
}
输出结果:
str1 equals str2: true
str1 equals str3: false
str1 equals str4: false
从输出结果来看,第一个比较返回True,因为用的是StringBuilder
对象,它的字符序列和字符串相等。但是第二个比较返回False,因为大小写不同。最后一个比较也返回False,因为字符串中不包含整个"hello"
子串。
除了CharSequence对象外,还可以使用另一个Scala字符串进行比较,例如:
val str5 = "HELLO WORLD"
println("str1 equals str5: " + str1.contentEquals(str5))
输出结果:
str1 equals str5: false
可以看到,即使传入的参数是另一个Scala字符串也返回False,这是因为它们的字符序列不完全一致。要想比较大小写不敏感的字符串,可以使用equalsIgnoreCase()
方法。
在Scala中,contentEquals()
方法非常简单直接,可以很方便地帮助我们比较不同字符串,让我们编写更可靠的代码。