当前位置:K88软件开发文章中心编程语言JavaJava01 → 文章内容

Scala 字符串

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 13:27:13

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 ) }}执行以上代码,输出结果为:$ scalac Test.scala$ scala TestHello, world!我们前面提到过 String 对象是不可变的,如果你需要创建一个可以修改的字符串,可以使用 String Builder 类,如下实例:





object Test { def main(args:





Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is :





" + buf.toString ); }} 运行实例 ?执行以上代码,输出结果为:$ scalac Test.scala$ scala Testbuf is :





abcdef字符串长度我们可以使用 length() 方法来获取字符串长度:object Test { def main(args:





Array[String]) { var palindrome = "www.k88.net"; var len = palindrome.length(); println( "String Length is :





" + len ); }}执行以上代码,输出结果为:$ scalac Test.scala$ scala TestString Length is :





14字符串连接String 类中使用 concat() 方法来连接两个字符串:string1.concat(string2);实例演示:scala> "k88.net官网: ".concat("www.k88.net");res0:





String = k88.net官网: www.k88.net同样你也可以使用加号(+)来连接:scala> "k88.net官网: " + " www.k88.net"res1:





String = k88.net官网: www.k88.net让我们看个完整实例:





object Test { def main(args:





Array[String]) { var str1 = "k88.net官网:"; var str2 = "www.k88.net"; var str3 = "k88.net的 Slogan 为:"; var str4 = "学的不仅是技术,更是梦想!"; println( str1 + str2 ); println( str3.concat(str4) ); }}执行以上代码,输出结果为:$ scalac Test.scala$ scala Testk88.net官网:www.k88.netk88.net的 Slogan 为:学的不仅是技术,更是梦想!创建格式化字符串String 类中你可以使用 printf() 方法来格式化字符串并输出,String format() 方法可以返回 String 对象而不是 PrintStream 对象。以下实例演示了 printf() 方法的使用:object Test { def main(args:





Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "k88.net!" var fs = printf("浮点型变量为 " + "%f, 整型变量为 %d, 字符串为 " + " %s", floatVar, intVar, stringVar) println(fs) }}执行以上代码,输出结果为:$ scalac Test.scala$ scala Test浮点型变量为 12.456000, 整型变量为 2000, 字符串为 k88.net!()String 方法下表列出了 java.lang.String 中常用的方法,你可以在 Scala 中使用:序号方法及描述1char charAt(int index)返回指定位置的字符2int compareTo(Object o) 比较字符串与对象3int compareTo(String anotherString)按字典顺序比较两个字符串4int compareToIgnoreCase(String str)按字典顺序比较两个字符串,不考虑大小写5String concat(String str)将指定字符串连接到此字符串的结尾6boolean contentEquals(StringBuffer sb) 将此字符串与指定的 StringBuffer 比较。7static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String8static String copyValueOf(char[] data, int offset, int count)返回指定数组中表示该字符序列的 String9boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束10boolean equals(Object anObject)将此字符串与指定的对象比较11boolean equalsIgnoreCase(String anotherString)将此 String 与另一个 String 比较,不考虑大小写12byte getBytes()使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中13byte[] getBytes(String charsetName使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中14void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)将字符从此字符串复制到目标字符数组15int hashCode() 返回此字符串的哈希码16int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引17int indexOf(int ch, int fromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索18int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引19int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始20String intern()返回字符串对象的规范化表示形式21int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引22int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索23int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引24int lastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索25int length()返回此字符串的长度26boolean matches(String regex)告知此字符串是否匹配给定的正则表达式27boolean regionMatches(boolean ignoreCase, int

[1] [2]  下一页


Scala 字符串