虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Scala > Scala字符串

Scala字符串
类别:Scala   作者:码皇   来源:互联网   点击:

考虑下面这个简单的例子,我们给一个字符串类型的 val 变量:objectTest{valgreeting:String="Hello,world!"defmain(args:Array[String]){println(greeting)}}在这里,上面的值类型是从Java的java lang String

考虑下面这个简单的例子,我们给一个字符串类型的 val 变量:

  1. object Test { 
  2.    val greeting: String = "Hello, world!" 
  3.  
  4.    def main(args: Array[String]) { 
  5.       println( greeting ) 
  6.    } 

在这里,上面的值类型是从Java的java.lang.String借来的,因为Scala的字符串也是Java字符串。这一点是非常好的,要注意:每一个Java类可用在Scala中。因此,Scala没有String类并直接利用Java字符串String类。因此,这一章已被写入保持Java String的基础。

在Scala中与在Java中一样,一个字符串是不可变的对象,也就是,这是不能被修改的对象。另一方面,对象是可以修改的,如数组对象,被称为可变对象。由于字符串是非常有用的对象,在本节的其余部分,我们目前最重要了解类java.lang.String的方法定义。

创建字符串:

最直接的方法来创建一个字符串的编写方法是:

  1. var greeting = "Hello world!"; 


or


  1. var greeting:String = "Hello world!"; 

每当遇到一个字符串在代码中,编译器创建String对象及其值,在这个示例中使用:“Hello world!”,但如果你喜欢,可以给字符串,因为这里我已经在声明中交替显示。

  1. object Test { 
  2.    val greeting: String = "Hello, world!" 
  3.  
  4.    def main(args: Array[String]) { 
  5.       println( greeting ) 
  6.    } 

让我们编译和运行上面的程序,这将产生以下结果:

  1. C:/>scalac Test.scala 
  2. C:/>scala Test 
  3. Hello, world! 
  4.  
  5. C:/> 

正如前面提到的,String类是不可变的,所以一旦它被创建,String 对象不能改变。如果需要做大量修改字符的字符串,那么应该使用在Scala提供字符串构建器类( String Builder )。

字符串长度:

用于获得关于对象的信息的方法是已知的存取方法。可以使用字符串使用一个存取方法是length()方法,它返回包含在字符串对象中的字符数。

下面两行代码被执行之后,len 等于17:

  1. object Test { 
  2.    def main(args: Array[String]) { 
  3.       var palindrome = "Dot saw I was Tod"; 
  4.       var len = palindrome.length(); 
  5.       println( "String Length is : " + len ); 
  6.    } 

让我们编译和运行上面的程序,这将产生以下结果:

  1. C:/>scalac Test.scala 
  2. C:/>scala Test 
  3. String Length is : 17 
  4.  
  5. C:/> 

连接字符串:

String类包括用于连接两个字符串的方法:

  1. string1.concat(string2); 

这返回一个string1将string2添加到它的末尾的一个新字符串。也可以使用concat()方法用字符串,如:

  1. "My name is ".concat("Zara"); 

字符串比较常用连接在一起,使用+运算符,如:

"Hello," + " world" + "!"

这将产生:

"Hello, world!"

让我们来看看下面的例子:

  1. object Test { 
  2.    def main(args: Array[String]) { 
  3.       var str1 = "Dot saw I was "; 
  4.       var str2 =  "Tod"; 
  5.       println("Dot " + str1 + str2); 
  6.    } 

让我们编译和运行上面的程序,这将产生以下结果:

  1. C:/>scalac Test.scala 
  2. C:/>scala Test 
  3. Dot Dot saw I was Tod 
  4.  
  5. C:/> 

创建格式化字符串:

已经有两个方法:printf()和format()方法使用格式化数字打印输出。 String类有一个等价类的方法,format(),它返回一个String对象,而不是一个PrintStream对象。让我们看看下面的例子,这是使用printf()方法:

相关热词搜索: 字符串
上一篇:Scala闭包
下一篇:Scala数组