Neste tutorial, aprenderemos sobre Java Strings, como criá-los e vários métodos de String com a ajuda de exemplos.
Em Java, uma string é uma sequência de caracteres. Por exemplo, "olá" é uma string contendo uma sequência de caracteres 'h', 'e', 'l', 'l' e 'o'.
Usamos aspas duplas para representar uma string em Java. Por exemplo,
// create a string String type = "Java programming";
Aqui, criamos uma variável de string chamada type. A variável é inicializada com a string Java Programming
.
Nota : Cordas em Java não são tipos primitivos (como int
, char
, etc). Em vez disso, todas as strings são objetos de uma classe predefinida chamada String
.
E todas as variáveis de string são instâncias da String
classe.
Exemplo: crie uma string em Java
class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )
No exemplo acima, criamos três strings denominadas primeiro, segundo e terceiro. Aqui, estamos criando strings diretamente como tipos primitivos.
No entanto, existe outra maneira de criar strings Java (usando a new
palavra - chave). Aprenderemos sobre isso mais tarde neste tutorial.
Operações Java String
Java String fornece vários métodos para executar diferentes operações em strings. Veremos algumas das operações de string comumente usadas.
1. Obtenha o comprimento de uma corda
Para encontrar o comprimento de uma string, usamos o length()
método da String. Por exemplo,
class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )
Resultado
String: Olá! Comprimento do mundo: 12
No exemplo acima, o length()
método calcula o número total de caracteres na string e o retorna. Para saber mais, visite Java String length ().
2. Junte duas Strings
Podemos juntar duas strings em Java usando o concat()
método. Por exemplo,
class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )
Resultado
Primeira string: Segunda string Java: String associada à programação: Programação Java
No exemplo acima, criamos duas strings chamadas primeiro e segundo. Observe a declaração,
String joinedString = first.concat(second);
Aqui, nós, o concat()
método une primeiro e segundo e os atribui à variável joinString.
Também podemos juntar duas strings usando o +
operador em Java. Para saber mais, visite Java String concat ().
3. Compare duas strings
Em Java, podemos fazer comparações entre duas strings usando o equals()
método. Por exemplo,
class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )
Resultado
Strings primeiro e segundo são iguais: true Strings primeiro e terceiro são iguais: false
No exemplo acima, criamos 3 strings denominadas primeiro, segundo e terceiro. Aqui, estamos usando o equal()
método para verificar se uma string é igual a outra.
O equals()
método verifica o conteúdo das strings enquanto as compara. Para saber mais, visite Java String equals ().
Observação : também podemos comparar duas strings usando o ==
operador em Java. No entanto, essa abordagem é diferente do equals()
método. Para saber mais, visite Java String == vs equals ().
Métodos de Java String
Além dos mencionados acima, existem vários métodos de string presentes em Java. Aqui estão alguns desses métodos:
Métodos | Descrição |
---|---|
substring () | retorna a substring da string |
substituir() | substitui o caractere antigo especificado pelo novo caractere especificado |
charAt () | retorna o caractere presente no local especificado |
getBytes () | converte a string em uma matriz de bytes |
índice de() | retorna a posição do caractere especificado na string |
comparado a() | compara duas strings na ordem do dicionário |
aparar() | remove todos os espaços em branco à esquerda e à direita |
formato() | retorna uma string formatada |
Dividido() | quebra a string em uma série de strings |
toLowerCase () | converte a string em minúsculas |
toUpperCase () | converte a string em maiúsculas |
valor de() | retorna a representação em string do argumento especificado |
toCharArray () | converte a string em um char array |
Caractere de escape em Java Strings
O caractere de escape é usado para escapar alguns dos caracteres presentes dentro de uma string.
Suponha que precisamos incluir aspas duplas dentro de uma string.
// include double quote String example = "This is the "String" class";
Como as strings são representadas por aspas duplas , o compilador tratará "This is the" como a string. Portanto, o código acima causará um erro.
Para resolver esse problema, usamos o caractere de escape em Java. Por exemplo,
// use the escape character String example = "This is the "String " class.";
Agora, os caracteres de escape informam ao compilador para escapar das aspas duplas e ler todo o texto.
Strings Java são imutáveis
Em Java, as strings são imutáveis . Isso significa que, uma vez que criamos uma string, não podemos alterá-la.
Para entender mais profundamente, considere um exemplo:
// create a string String example = "Hello! ";
Aqui, criamos uma variável de string chamada example. A variável contém a string "Hello!".
Agora, suponha que queremos mudar a string.
// add another string "World" // to the previous tring example example = example.concat(" World");
Aqui, estamos usando o concat()
método para adicionar outra string World à string anterior.
It looks like we are able to change the value of the previous string. However, this is not true
.
Let's see what has happened here,
- JVM takes the first string "Hello! "
- creates a new string by adding "World" to the first string
- assign the new string "Hello! World" to the example variable
- the first string "Hello! " remains unchanged
Creating strings using the new keyword
So far we have created strings like primitive types in Java.
Since strings in Java are objects, we can create strings using the new
keyword as well. For example,
// create a string using the new keyword String name = new String("Java String");
In the above example, we have created a string name using the new
keyword.
Here, when we create a string object, the String()
constructor is invoked. To learn more about constructor, visit Java Constructor.
Note: The String
class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).
Example: Create Java Strings using the new keyword
class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )
Create String using literals vs new keyword
Now that we know how strings are created using string literals and the new
keyword, let's see what is the major difference between them.
In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.
While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.
- Se a string já existe , a nova string não é criada. Em vez disso, a nova referência aponta para a string existente.
- Se a string não existir , a nova string será criada.
No entanto, ao criar strings usando a nova palavra-chave , o valor da string não é fornecido diretamente. Portanto, a nova string é criada o tempo todo.