📜  Scala字符串

📅  最后修改于: 2021-01-09 11:55:51             🧑  作者: Mango

斯卡拉弦乐

在scala中,字符串是字符的组合,或者我们可以说它是字符序列。它是基于索引的数据结构,并使用线性方法将数据存储到内存中。字符串在Scala中像Java一样是不可变的。您可以操纵字符串,可以应用方法来获得所需的结果,但不能更改原始的字符串对象。

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