Scala 字符串

  • Post author:
  • Post category:其他


scala字符串说明

object Test {
   val greeting: String = "Hello,World!"

   def main(args: Array[String]) {
      println( greeting )
   }
}

以上实例定义了变量 greeting,为字符串常量,它的类型为 String (java.lang.String)。


在 Scala 中,字符串的类型实际上是 Java String,它本身没有 String 类。



在 Scala 中,String 是一个不可变的对象

,所以该对象不可被修改。这就意味着你如果修改字符串就会产生一个新的字符串对象。

但其他对象,如数组就是可变的对象。接下来我们会为大家介绍常用的 java.lang.String 方法。

创建字符串

var greeting = "Hello World!";

或者


var greeting:String = "Hello World!";

你不一定为字符串指定 String 类型,因为 Scala 编译器会自动推断出字符串的类型为 String。

当然我们也可以直接显示的声明字符串为 String 类型,如下实例:

object Test {
   val greeting: String = "Hello, World!"

   def main(args: Array[String]) {
      println( greeting )
   }
}

们前面提到过 String 对象是不可变的,如果

你需要创建一个可以修改的字符串,可以使用 String Builder

类,如下实例:

object Test {
   def main(args: Array[String]) {
      val buf = new StringBuilder;
      buf += 'a'
      buf ++= "bcdef"
      println( "buf is : " + buf.toString );
   }
}

运行结果

buf is : abcdef

字符串长度

我们可以

使用 String.length() 方法来获取字符串长度

object Test {
   def main(args: Array[String]) {
      var palindrome = "www.runoob.com";
      var len = palindrome.length();
      println( "String Length is : " + len );
   }
}

运行结果

String Length is : 14

字符串连接

concat

String 类中

使用 concat() 方法来连接两个字符串

string1.concat(string2);

实例演示:

这里写图片描述

“+”号

也可以使用+号来连接字符串

这里写图片描述

创建格式化字符串

String 类中你可以使

用 printf() 方法来格式化字符串并输出

,String format() 方法可以返回 String 对象而不是 PrintStream 对象。以下实例演示了 printf() 方法的使用:

object Test {
   def main(args: Array[String]) {
      var floatVar = 12.456
      var intVar = 2000
      var stringVar = "我爱scala!"
      var fs = printf("浮点型变量为 " + "%f, 整型变量为 %d, 字符串为 " + " %s",
       floatVar, intVar, stringVar)
      println(fs)
   }
}

返回指定位置字符

object Test9 {
  def main(args: Array[String]) {
    var s = "ATTCGATTAC"
    println(s.charAt(0))
    println(s.charAt(1))
  }

}
--------- 结果 ------------
A
T

Process finished with exit code 0

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述



版权声明:本文为SA14023053原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。