本章将介绍Scala中的字符串。 在Scala中的字符串和Java中的一样,字符串是一个不可变的对象,也就是一个不能修改的对象。可以修改的对象,如数组,称为可变对象。字符串是非常有用的对象,在本节的最后部分,我们将介绍java.lang.String
类的一些重要方法。
1.创建一个字符串
以下是创建一个字符串的代码 -
var greeting = "Hello world!";
// 或者
var greeting:String = "Hello world!";
每当编译器在代码中遇到一个字符串文字时,它会创建一个带有它的值的String对象,在这种情况下是“Hello world!”
。String
关键字也可以在如上所示的第二个声明中给出。
请尝试以下示例程序。
object Demo {
val greeting: String = "Hello, world!"
def main(args: Array[String]) {
println( greeting )
}
}
将上述程序保存在源文件:Demo.scala中,使用以下命令编译和执行此程序。
D:\> scalac Demo.scala
D:\> scala Demo
Hello, world!
如前所述,String
类是不可变的。创建后的String
对象是无法更改的。如果有必要对字符串进行大量修改,那么可考虑使用Scala中提供的StringBuilder
类。
2. 字符串长度
用于获取有关对象的信息的方法称为访问器方法。一个可以与字符串一起使用的访问器方法是length()
方法,它返回字符串对象中包含的字符数。
使用以下代码段来查找字符串的长度 -
例子
object Demo {
def main(args: Array[String]) {
var palindrome = "Dot saw I was Tod";
var len = palindrome.length();
println( "String Length is : " + len );
}
}
将上述程序保存在源文件:Demo.scala中,使用以下命令编译和执行此程序。
$ scalac Demo.scala
$ scala Demo
String Length is : 17
3. 连接字符串
String类包括一个连接两个字符串的方法 -
string1.concat(string2);
这将返回一个新的字符串,字符串string1
的尾部添加字符串string2
。您也可以使用concat()
方法在字符串文字上操作,如下 -
"My name is ".concat("Zara");
字符串通常还使用+
运算符连接,如 -
"Hello," + " world" + "!"
这将产生以下结果 -
"Hello, world!"
以下代码行将两个字符串相连接 -
object Demo {
def main(args: Array[String]) {
var str1 = "Dot saw I