English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O exemplo a seguir atribui uma string a uma constante:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
O exemplo acima define a variável greeting, que é uma constante de string, do tipo String (java.lang.String).
No Scala, o tipo da string é realmente Java String, que não possui classe String.
No Scala, String é um objeto imutável, então o objeto não pode ser modificado. Isso significa que, se você modificar uma string, será gerado um novo objeto de string.
Mas outros objetos, como arrays, são objetos mutáveis. Vamos apresentar os métodos java.lang.String mais comuns em seguida.
Exemplo de criação de strings a seguir:
var greeting = "Hello World!"; ou var greeting:String = "Hello World!";
Você não precisa especificar o tipo String para strings, pois o compilador Scala inferirá automaticamente o tipo da string como String.
Claro, também podemos declarar diretamente strings como tipo String, conforme o exemplo a seguir:
object Test { val greeting: String = "Hello, World!" def main(args: Array[String]) { println( greeting ) } }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test Hello, world!
Como mencionamos anteriormente, os objetos String são imutáveis, se você precisar criar uma string modificável, você pode usar a classe StringBuilder, conforme o exemplo a seguir:
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test buf is : abcdef
Podemos usar o método length() para obter o tamanho da string:
object Test { def main(args: Array[String]) { var palindrome = "pt.oldtoolbag.com"; var len = palindrome.length(); println( "Tamanho da String Length é : " + len ); } }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test Tamanho da String Length é : 14
Para conectar dois strings usando o método concat() do tipo String:
string1.concat(string2);
Exemplo de Demonstração:
scala> "Tutorial Website Official: ".concat("pt.oldtoolbag.com"); res0: String = Tutorial Website Official: pt.oldtoolbag.com
Da mesma forma, você também pode usar o sinal + (+) para conectar:
scala> "Tutorial Website Official: " + " pt.oldtoolbag.com" res1: String = O site oficial do 基础教程网 é: pt.oldtoolbag.com
Vamos ver um exemplo completo:
object Test { def main(args: Array[String]) { var str1 ="O site oficial do 基础教程网 é: "; var str2 = "pt.oldtoolbag.com"; var str3 = "O slogan do 基础教程网的 é: "; var str4 = "Aprenda o básico, e você pode ir mais longe!"; println( str1 + str2 ); println( str3.concat(str4) ); } }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test Site oficial do 基础教程网: pt.oldtoolbag.com O slogan do 基础教程网 é: Aprenda o básico, e você pode ir mais longe!
Você pode usar o método printf() no String para formatar uma string e emitir, o método format() do String retorna um objeto String em vez de um objeto PrintStream. O exemplo a seguir demonstra o uso do método printf():
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "基础教程网!" var fs = printf("A variável de ponto flutuante é " + "%f, a variável inteira é %d, a string é " + " %s", floatVar, intVar, stringVar) println(fs) } }
Execute o código acima e o resultado será:
$ scalac Test.scala $ scala Test A variável de ponto flutuante é 12.456000, a variável inteira é 2000, a string é 基础教程网!()
A tabela a seguir lista os métodos mais comuns de java.lang.String, que você pode usar no Scala:
Número de série | Métodos e descrições |
---|---|
1 | char charAt(int index) Retorna o caractere na posição especificada |
2 | int compareTo(Object o) Compare a string com um objeto |
3 | int compareTo(String anotherString) Compare duas strings em ordem alfabética |
4 | int compareToIgnoreCase(String str) Compare duas strings em ordem alfabética, sem considerar maiúsculas e minúsculas |
5 | String concat(String str) Concatena a string especificada ao final desta string |
6 | boolean contentEquals(StringBuffer sb) compara este string com o StringBuffer especificado |
7 | static String copyValueOf(char[] data) retorna o String que representa a sequência de caracteres especificada no array |
8 | static String copyValueOf(char[] data, int offset, int count) retorna o String que representa a sequência de caracteres especificada no array |
9 | boolean endsWith(String suffix) testa se este string termina com o sufixo especificado |
10 | boolean equals(Object anObject) compara este string com o objeto especificado |
11 | boolean equalsIgnoreCase(String anotherString) compara este String com outro String sem considerar maiúsculas e minúsculas |
12 | byte getBytes() codifica este String como uma sequência de bytes usando o conjunto de caracteres padrão da plataforma, e armazena o resultado em um novo array de bytes |
13 | byte[] getBytes(String charsetName) codifica este String como uma sequência de bytes usando o conjunto de caracteres especificado, e armazena o resultado em um novo array de bytes |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) copia o caractere a partir deste string para o array de caracteres de destino |
15 | int hashCode() retorna o código hash deste string |
16 | int indexOf(int ch) retorna o índice da primeira ocorrência do caractere especificado neste string |
17 | int indexOf(int ch, int fromIndex) retorna o índice da primeira ocorrência do caractere especificado neste string, começando pela pesquisa a partir do índice especificado |
18 | int indexOf(String str) retorna o índice da primeira ocorrência da substring especificada neste string |
19 | int indexOf(String str, int fromIndex) retorna o índice da primeira ocorrência da substring especificada neste string, começando pelo índice especificado |
20 | String intern() retorna a representação normalizada deste objeto String |
21 | int lastIndexOf(int ch) retorna a última ocorrência do caractere especificado neste string no índice |
22 | int lastIndexOf(int ch, int fromIndex) Retorna o índice da última ocorrência do caractere especificado neste string, começando a busca reversa a partir do índice especificado |
23 | int lastIndexOf(String str) Retorna o índice da ocorrência mais à direita do substring especificado neste string |
24 | int lastIndexOf(String str, int fromIndex) Retorna o índice da última ocorrência do substring especificado neste string, começando a busca reversa a partir do índice especificado |
25 | int length() Retorna o comprimento deste string |
26 | boolean matches(String regex) Informs se este string corresponde à expressão regular fornecida |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) Testa se as áreas de dois strings são iguais |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) Testa se as áreas de dois strings são iguais |
29 | String replace(char oldChar, char newChar) Retorne uma nova string, obtida substituindo todos os oldChar que aparecem neste string por newChar |
30 | String replaceAll(String regex, String replacement Substitua todos os substrings correspondentes a expressão regular fornecida com o replacement especificado |
31 | String replaceFirst(String regex, String replacement) Substitua o primeiro substring correspondente a expressão regular fornecida com o replacement especificado |
32 | String[] split(String regex) Divida este string com base na correspondência da expressão regular fornecida |
33 | String[] split(String regex, int limit) Divida este string com base na expressão regular fornecida |
34 | boolean startsWith(String prefix) Testa se este string começa com o prefixo especificado |
35 | boolean startsWith(String prefix, int toffset) Testa se a substring iniciada a partir do índice especificado deste string começa com o prefixo especificado. |
36 | CharSequence subSequence(int beginIndex, int endIndex) Retorna uma nova subsequência de caracteres, que é uma subsequência desta sequência |
37 | String substring(int beginIndex) Retorna uma nova string, que é uma substring deste string |
38 | String substring(int beginIndex, int endIndex) Retorna uma nova string, que é uma substring deste string |
39 | char[] toCharArray() Converte esta string em um novo array de caracteres |
40 | String toLowerCase() Converte todos os caracteres desta String para minúsculas usando as regras do Locale padrão |
41 | String toLowerCase(Locale locale) Converte todos os caracteres desta String para minúsculas usando as regras do Locale fornecido |
42 | String toString() Retorna este objeto em si (já é uma string!) |
43 | String toUpperCase() Converte todos os caracteres desta String para maiúsculas usando as regras do Locale padrão |
44 | String toUpperCase(Locale locale) Converte todos os caracteres desta String para maiúsculas usando as regras do Locale fornecido |
45 | String trim() Remove os espaços em branco no início e no final da string especificada |
46 | static String valueOf(primitive data type x) Retorna a representação em string do parâmetro de tipo especificado |