Chaîne Scala
L'exemple suivant attribue une chaîne à une constante :
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
L'exemple ci-dessus définit la variable Greeting, qui est une constante de chaîne et son type est String (java.lang.String).
Dans Scala, le type de chaîne est en fait Java String, qui n'a pas de classe String elle-même.
Dans Scala, String est un objet immuable, donc l'objet ne peut pas être modifié. Cela signifie que si vous modifiez une chaîne, un nouvel objet chaîne sera généré.
Mais d'autres objets, tels que les tableaux, sont des objets mutables. Nous vous présenterons ensuite les méthodes java.lang.String couramment utilisées.
Créez une chaîne
Créez une instance de chaîne comme suit :
var greeting = "Hello World!"; 或 var greeting:String = "Hello World!";
Vous ne spécifiez pas nécessairement le type de chaîne pour la chaîne, car le compilateur Scala déduira automatiquement que le type de chaîne est String.
Bien sûr, nous pouvons également déclarer directement la chaîne comme type String, comme le montre l'exemple suivant :
object Test { val greeting: String = "Hello, World!" def main(args: Array[String]) { println( greeting ) } }
Exécutez le code ci-dessus, le résultat de sortie est :
$ scalac Test.scala $ scala Test Hello, world!
Comme nous l'avons mentionné précédemment, les objets String sont immuables. Si vous devez créer une chaîne modifiable, vous pouvez utiliser la classe String Builder, comme le montre l'exemple suivant :
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
Exécuter Le résultat de sortie du code ci-dessus est :
$ scalac Test.scala $ scala Test buf is : abcdef
Longueur de la chaîne
Nous pouvons utiliser la méthode length() pour obtenir la longueur de la chaîne :
object Test { def main(args: Array[String]) { var palindrome = "www.php.cn"; var len = palindrome.length(); println( "String Length is : " + len ); } }
Exécutez le code ci-dessus, Le résultat de sortie est :
$ scalac Test.scala $ scala Test String Length is : 14
String connection
La méthode concat() est utilisée dans la classe String pour connecter deux chaînes :
string1.concat(string2);
Exemple de démonstration :
scala> "php中文网官网: ".concat("www.php.cn"); res0: String = php中文网官网: www.php.cn
De même, vous pouvez également utiliser le signe plus (+) pour vous connecter :
scala> "php中文网官网: " + " www.php.cn" res1: String = php中文网官网: www.php.cn
Voyons un exemple complet :
object Test { def main(args: Array[String]) { var str1 = "php中文网官网:"; var str2 = "www.php.cn"; var str3 = "php中文网的 Slogan 为:"; var str4 = " php中文网"; println( str1 + str2 ); println( str3.concat(str4) ); } }
Exécutez le code ci-dessus, le résultat de sortie est :
$ scalac Test.scala $ scala Test php中文网官网:www.php.cn php中文网的 Slogan 为: php中文网
Créez une chaîne formatée
Dans la classe String, vous pouvez utiliser la méthode printf() pour formater une chaîne et le générer. La méthode String format() peut renvoyer un objet String au lieu d'un objet PrintStream. L'exemple suivant montre l'utilisation de la méthode printf() :
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "php中文网!" var fs = printf("浮点型变量为 " + "%f, 整型变量为 %d, 字符串为 " + " %s", floatVar, intVar, stringVar) println(fs) } }
Exécutez le code ci-dessus, le résultat de sortie est :
$ scalac Test.scala $ scala Test 浮点型变量为 12.456000, 整型变量为 2000, 字符串为 php中文网!()
Méthode String
Ce qui suit le tableau répertorie java Les méthodes couramment utilisées dans .lang.String peuvent être utilisées dans Scala :
Numéro de série | Méthode et description |
---|---|
1 | char charAt(int index) Renvoie le caractère à la position spécifiée |
2 | int compareTo(Object o) Comparer la chaîne avec l'objet |
3 | int compareTo(String anotherString) Compare deux chaînes lexicographiquement |
4 | int compareToIgnoreCase(String str) Compare deux chaînes dans l'ordre lexicographique, quelle que soit la casse |
5 | String concat(String str) Concatène la chaîne spécifiée à la fin de cette chaîne |
6 | boolean contentEquals(StringBuffer sb) Compare cette chaîne au StringBuffer spécifié. |
7 | static String copyValueOf(char[] data) Retour au spécifié array String |
8 | string statique copyValueOf (données char[], décalage int, nombre int) Renvoie la chaîne représentant la séquence de caractères dans le tableau spécifié |
9 | booléen se termineAvec(Suffixe de chaîne) Test si cette chaîne se termine par le suffixe spécifié |
10 | booléen égal à(Object anObject ) Compare cette chaîne avec l'objet spécifié |
11 | boolean equalsIgnoreCase(String anotherString ) Compare cette chaîne avec une autre chaîne, quelle que soit la casse |
12 | byte getBytes () Encodez cette chaîne dans une séquence d'octets en utilisant le jeu de caractères par défaut de la plate-forme et stockez le résultat dans un nouveau tableau d'octets |
13 | byte[] getBytes(String charsetName Utilisez le jeu de caractères spécifié pour encoder cette chaîne dans une séquence d'octets et stocker le résultat dans un nouveau tableau d'octets |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Copiez les caractères de cette chaîne dans le tableau de caractères cible |
15 | int hashCode() Renvoie le code de hachage de cette chaîne |
16 | int indexOf(int ch) Renvoie l'index de la première occurrence du caractère spécifié dans cette chaîne |
17 | int indexOf(int ch , int fromIndex) Renvoie l'index où le caractère spécifié apparaît pour la première fois dans cette chaîne, à partir de la recherche de démarrage d'index spécifiée |
18 | int indexOf(String str) Renvoyer le sous-caractère spécifié L'index de la première occurrence de chaîne dans cette chaîne |
19 | int indexOf(String str, int fromIndex) Renvoie l'index de la première occurrence du sous-chaîne spécifiée dans cette chaîne, en commençant à l'index spécifié |
20 | String stagiaire() Renvoie la représentation normalisée de l'objet chaîne |
21 | int lastIndexOf(int ch) Renvoie l'index de la dernière occurrence du caractère spécifié dans cette chaîne |
22 | int lastIndexOf(int ch , int fromIndex) Renvoie l'index de la dernière occurrence du caractère spécifié dans cette chaîne, à partir de Démarrer la recherche inversée à l'index spécifié |
23 | int lastIndexOf(String str) Renvoie l'index de l'occurrence la plus à droite de la sous-chaîne spécifiée dans cette chaîne |
24 | int lastIndexOf(String str, int fromIndex) Renvoie l'index de la dernière occurrence de la sous-chaîne spécifiée dans cette chaîne, en démarrant la recherche inversée à partir de l'index spécifié |
25 | int length() Renvoie la longueur de cette chaîne |
26 | correspondances booléennes (String regex) Indique si cette chaîne correspond à l'expression régulière donnée |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Tester si deux régions de chaîne sont égales |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Tester deux chaînes Les aires sont-elles égales ? |
29 | String replace(char oldChar, char newChar) Return Une nouvelle chaîne obtenue en remplaçant toutes les occurrences de oldChar dans cette chaîne par newChar. String replaceAll(String regex, String replacement |
31 String replaceFirst (String regex, String replacement) | |
32 String[] split(String regex) | |
33 String[] split(String regex, int limit) | |
34 boolean StartingWith( Préfixe de chaîne) | |
35 booléen startWith(String prefix, int toffset) | |
36 Sous-séquence CharSequence (int BeginIndex, int endIndex) | |
37 String substring(int BeginIndex) | |
38 Sous-chaîne de chaîne (int startIndex, int endIndex) | |
39 char[ ] toCharArray() | |
40 String toLowerCase() | |
41 String toLowerCase(Locale locale) | |
42 | String toString() Renvoie cet objet lui-même (c'est déjà une chaîne ! ) |
43 | String toUpperCase() Utiliser les règles des paramètres régionaux par défaut pour tout cela les caractères de String sont convertis en majuscules |
44 | String toUpperCase(Locale locale) Convertit tous les caractères de cette chaîne en majuscules en utilisant les règles de la locale donnée |
45 | String trim() Convertit tous les caractères de cette chaîne en majuscules en utilisant les règles de la langue donnée |
46 | statique String valueOf (type de données primitif x) Renvoie la représentation sous forme de chaîne du paramètre de type spécifié |