English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das folgende Beispiel weist einen String einem Konstanten zu:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
Der obige Beispiel definiert die Variable greeting als String-Konstante, deren Typ String (java.lang.String) ist.
In Scala ist der Typ der Zeichenkette tatsächlich Java String, und es gibt selbst keine String-Klasse.
In Scala ist String ein unveränderbares Objekt, daher kann dieses Objekt nicht geändert werden. Dies bedeutet, dass eine neue Zeichenkette-Objekt erstellt wird, wenn Sie eine Zeichenkette ändern.
Aber andere Objekte, wie Arrays, sind veränderbare Objekte. In den nächsten Abschnitten werden wir die häufig verwendeten Methoden von java.lang.String vorstellen.
Beispiel zur Erstellung von Strings:
var greeting = "Hello World!"; oder var greeting:String = "Hello World!";
Es ist nicht erforderlich, für Zeichenketten den String-Typ zu spezifizieren, da der Scala-Compiler den Typ der Zeichenkette automatisch als String ableitet.
Natürlich können wir auch direkt eine Zeichenkette als String-Typ deklarieren, wie im folgenden Beispiel:
object Test { val greeting: String = "Hello, World!" def main(args: Array[String]) { println( greeting ) } }
Führen Sie den obigen Code aus, und das Ausgabergebnis ist:
$ scalac Test.scala $ scala Test Hello, world!
Wir haben bereits erwähnt, dass String-Objekte nicht veränderbar sind. Wenn Sie einen veränderbaren String erstellen müssen, können Sie die String Builder-Klasse verwenden, wie im folgenden Beispiel:
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
Führen Sie den obigen Code aus, und das Ausgabergebnis ist:
$ scalac Test.scala $ scala Test buf is : abcdef
Wir können die Methode length() verwenden, um die Länge eines Strings zu ermitteln:
object Test { def main(args: Array[String]) { var palindrome = "de.oldtoolbag.com"; var len = palindrome.length(); println( "String-Länge ist : " + len ); } }
Führen Sie den obigen Code aus, und das Ausgabergebnis ist:
$ scalac Test.scala $ scala Test String-Länge ist : 14
Verknüpfung von Strings mithilfe der concat() -Methode in der String-Klasse:
string1.concat(string2);
Beispiel-Demonstration:
scala> "Grundlagen-Tutorial-Website-Offizielle-Website: ".concat("de.oldtoolbag.com"); res0: String = Grundlagen-Tutorial-Website-Offizielle-Website: de.oldtoolbag.com
Ebenso können Sie auch Pluszeichen (+) verbinden:
scala> "Grundlagen-Tutorial-Website-Offizielle-Website: " + " de.oldtoolbag.com" res1: String = Die offizielle Website der Basis-Lehrwebsite: de.oldtoolbag.com
Lassen Sie uns ein vollständiges Beispiel sehen:
object Test { def main(args: Array[String]) { var str1 = "Die offizielle Website der Basis-Lehrwebsite: "; var str2 = "de.oldtoolbag.com"; var str3 = "Der Slogan der Basis-Lehrwebsite ist: "; var str4 = "Lerne das Grundwissen, um weiterzukommen!"; println( str1 + str2 ); println( str3.concat(str4); } }
Führen Sie den obigen Code aus, und das Ausgabergebnis ist:
$ scalac Test.scala $ scala Test Die offizielle Website der Basis-Lehrwebsite: de.oldtoolbag.com Der Slogan der Basis-Lehrwebsite ist: Lerne das Grundwissen, um weiterzukommen!
In der String-Klasse können Sie das printf() -Verfahren verwenden, um Zeichenfolgen zu formatieren und auszugeben, das format() -Verfahren von String gibt einen String-Objekt zurück und nicht ein PrintStream-Objekt. Der folgende Beispiel zeigt die Verwendung des printf() -Verfahrens:
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "Basis-Lehrwebsite!" var fs = printf("Fließkommazahlvariable ist " + "%f, Ganzzahlvariable ist %d, Zeichenfolge ist " + " %s", floatVar, intVar, stringVar) println(fs) } }
Führen Sie den obigen Code aus, und das Ausgabergebnis ist:
$ scalac Test.scala $ scala Test Die Variablen des Fließkommazahls sind 12.456000, der Ganzzahlvariable ist 2000, die Zeichenfolge ist Basis-Lehrwebsite!()
Die folgende Tabelle zeigt die häufig verwendeten Methoden in java.lang.String, die Sie in Scala verwenden können:
Reihennummer | Methode und Beschreibung |
---|---|
1 | char charAt(int index) Gibt das Zeichen an der angegebenen Position zurück |
2 | int compareTo(Object o) Vergleiche Zeichenfolge mit Objekt |
3 | int compareTo(String anotherString) Vergleiche zwei Zeichenfolgen in alphabetischer Reihenfolge |
4 | int compareToIgnoreCase(String str) Vergleiche zwei Zeichenfolgen in alphabetischer Reihenfolge, ohne Gross-/Kleinschreibung zu berücksichtigen |
5 | String concat(String str) Die angegebene Zeichenfolge wird am Ende dieser Zeichenfolge angehängt |
6 | boolean contentEquals(StringBuffer sb) Vergleicht diesen String mit einem bestimmten StringBuffer |
7 | static String copyValueOf(char[] data) Rückgibt den String, der die angegebene Zeichensequenz im angegebenen Array darstellt |
8 | static String copyValueOf(char[] data, int offset, int count) Rückgibt den String, der die angegebene Zeichensequenz im angegebenen Array darstellt |
9 | boolean endsWith(String suffix) Testet, ob dieser String mit einem bestimmten Suffix endet |
10 | boolean equals(Object anObject) Vergleicht diesen String mit einem bestimmten Objekt |
11 | boolean equalsIgnoreCase(String anotherString) Vergleicht diesen String mit einem anderen String, ohne die Gross-/Kleinschreibung zu berücksichtigen |
12 | byte getBytes() Kodiert diesen String in eine byte-Serie mit dem Standardzeichensatz der Plattform und speichert das Ergebnis in einem neuen byte-Array |
13 | byte[] getBytes(String charsetName) Kodiert diesen String in eine byte-Serie mit dem angegebenen Zeichensatz und speichert das Ergebnis in einem neuen byte-Array |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Kopiert die Zeichen von diesem String in das Zielcharakterarray |
15 | int hashCode() Rückgibt den Hashcode dieses Strings |
16 | int indexOf(int ch) Rückgibt den Index der ersten Erscheinung des angegebenen Zeichens in dieser Zeichenkette |
17 | int indexOf(int ch, int fromIndex) Rückgibt den Index der ersten Erscheinung des angegebenen Zeichens in dieser Zeichenkette, beginnend ab dem angegebenen Index, die Suche beginnt an dieser Stelle |
18 | int indexOf(String str) Rückgibt den Index der ersten Erscheinung des angegebenen Teilstrings in dieser Zeichenkette |
19 | int indexOf(String str, int fromIndex) Rückgibt den Index der ersten Erscheinung des angegebenen Teilstrings in dieser Zeichenkette, beginnend ab dem angegebenen Index |
20 | String intern() Rückgibt die normierte Darstellung dieses String-Objekts |
21 | int lastIndexOf(int ch) Rückgibt den Index der letzten Erscheinung des angegebenen Zeichens in dieser Zeichenkette |
22 | int lastIndexOf(int ch, int fromIndex) Geben Sie den Index des letzten Auftretens des angegebenen Zeichens in diesem String zurück, wobei von dem angegebenen Index aus rückwärts gesucht wird |
23 | int lastIndexOf(String str) Geben Sie den Index des rechten Auftretens des angegebenen Teilstrings in diesem String zurück |
24 | int lastIndexOf(String str, int fromIndex) Geben Sie den Index des letzten Auftretens des angegebenen Teilstrings in diesem String zurück, wobei von dem angegebenen Index aus rückwärts gesucht wird |
25 | int length() Geben Sie die Länge dieses Strings zurück |
26 | boolean matches(String regex) Informieren Sie, ob dieser String mit dem angegebenen regulären Ausdruck übereinstimmt |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Testen Sie, ob die zwei String-Bereiche gleich sind |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Testen Sie, ob die zwei String-Bereiche gleich sind |
29 | String replace(char oldChar, char newChar) Geben Sie einen neuen String zurück, der durch das Ersetzen aller Auftretens des oldChar durch newChar erhalten wird |
30 | String replaceAll(String regex, String replacement Ersetzen Sie alle Übereinstimmungstexte dieses Strings mit dem angegebenen replacement |
31 | String replaceFirst(String regex, String replacement) Ersetzen Sie den ersten Übereinstimmungstext dieses Strings mit dem angegebenen replacement |
32 | String[] split(String regex) Teilen Sie diesen String anhand der Übereinstimmungen des angegebenen regulären Ausdrucks |
33 | String[] split(String regex, int limit) Teilen Sie diesen String anhand des angegebenen regulären Ausdrucks |
34 | boolean startsWith(String prefix) Testen Sie, ob dieser String mit dem angegebenen Präfix beginnt |
35 | boolean startsWith(String prefix, int toffset) Testen Sie, ob der vom angegebenen Index beginnende Teilstring mit dem angegebenen Präfix beginnt. |
36 | CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列 |
37 | String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串 |
38 | String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串 |
39 | char[] toCharArray() 将此字符串转换为一个新的字符数组 |
40 | String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写 |
41 | String toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写 |
42 | String toString() 返回此对象本身(它已经是一个字符串!) |
43 | String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写 |
44 | String toUpperCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写 |
45 | String trim() 删除指定字符串的首尾空白符 |
46 | static String valueOf(原始数据类型 x) 返回指定类型参数的字符串表示形式 |