本文概述
在scala中, 字符串是字符的组合, 或者我们可以说它是字符序列。它是基于索引的数据结构, 并使用线性方法将数据存储到内存中。字符串在像Java的scala中是不可变的。你可以操纵字符串并可以应用方法来获得所需的结果, 但是你不能更改原始的字符串对象。
Scala字符串示例
这是一个简单的字符串示例, 其中我们创建了一个字符串变量。
class StringExample{
var s1 = "Scala string example"
def show(){
println(s1)
}
}
object MainObject{
def main(args:Array[String]){
var s = new StringExample()
s.show()
}
}
输出
Scala string example
Scala不可变字符串示例1
在此示例中, 我们将创建一个字符串变量并尝试修改字符串对象。让我们看看会发生什么。
class StringExample{
var s1 = "Scala string example"
"This is "+s1 // Modifying string object
def show(){
println(s1)
}
}
object MainObject{
def main(args:Array[String]){
var s = new StringExample()
s.show()
}
}
输出
Scala string example
Scala不可变字符串示例2
在此示例中, 我们正在修改字符串并将其分配给变量, 以便我们可以保留对修改后的字符串的引用。在这里, 修改后会创建一个新的字符串对象。 s1变量现在引用新的字符串对象。旧的字符串对象在内存中仍然可用, 但是没有任何引用。
class StringExample{
var s1 = "Scala string example"
s1 = "This is "+s1
def show(){
println(s1)
}
}
object MainObject{
def main(args:Array[String]){
var s = new StringExample()
s.show()
}
}
输出
This is Scala string example
Scala字符串比较示例
在scala中, 可以使用==(等于)方法比较两个字符串对象。以下程序描述了如何使用相等运算符。它返回布尔值true或false。
class StringExample{
var s1 = "Scala string example"
var s2 = "Hello Scala"
var s3 = "Hello Scala"
def show(){
println(s1 == s2)
println(s2 == s3)
}
}
object MainObject{
def main(args:Array[String]){
var s = new StringExample()
s.show()
}
}
输出
false
true