前言
Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。Scala中的字符串使用的是Java中的字符串,因此Scala中的字符串是一个不可变对象,不可修改。对字符串的任何操作都会产生一个新的字符串。
创建字符串
object Test {
def main(args: Array[string] : Unit = {
var a: String = "zhangsan"
// 或
var a = "zhangsan"
println(a)
}
}
不需要特意指明数据类型,Scala可以自动推测。
由于Scala兼容现有的Java程序,因此也可以通过 new 的方式创建并使用相应的方法。
object Test {
def main(args: Array[string] : Unit = {
// 创建不可变字符串
var a = new String("zhangsan")
// 创建可变字符串
var a = new StringBuffer("zhangsan")
a.append("lisi")
println(a)
}
}
字符串的使用
由于Scala兼容Java程序,因此Java中的方法Scala都可以使用。在此主要介绍字符串的拼接。
- 使用 + 拼接
var name = "zhangsan" println("name = " + name) // 打印 name = "zhangsan"
- 使用传值的方式拼接
var name = "zhangsan" var age = 20 printf("name = %s, age = %d", name, age) // 和c语言语法基本相同
- 使用插值的方法进行拼接
var name = "zhangsan" var age = 20 println(s"name = ${name}, age = ${age}")
- 使用***的方式进行拼接
var name = "zhangsan" var age = 20 print( s""" |{name = ${name}, age = ${age}} // |的作用是为了顶格,去掉|字符串会打印空格 |""".stripMargin) // 可以自定义顶格符,默认是|;stripMargin('#'),此时#为顶格符
第四种拼接方式主要用于json格式以及sql的拼接。
需要说明的是,使用 name = ${name} 中的大括号可以省略,但是使用大括号可以完成更多的操作:
object ScalaString {
def main(args: Array[String]): Unit = {
var name = "zhangsan"
var age = 20
println(s"name = $name, age = $age")
println(s"姓名的长度为 = ${name.length}, age = ${age.toString}")
}
}