English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Controle de fluxo Java

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (Fila)

Conjunto Map do Java

Conjunto Set do Java

Java Entrada e Saída (I/O)

Reader do Java/Writer

Outros tópicos do Java

String Java

Neste tutorial, vamos aprender com exemplos como criar o Java String e seus vários métodos.

 No Java, uma string é uma série de caracteres. Por exemplo, "hello" é uma string que contém a sequência de caracteres "h", "e", "l", "l" e "o".

Diferente de outros linguagens de programação, as strings no Java não são tipos básicos (como int, char, etc.). Em vez disso, todas as strings são objetos da classe pré-definida chamada String. Por exemplo,

//Cria uma string
String type = "java programming";

Aqui, criamos uma string chamada type. Aqui, inicializamos a string com "java programming". No Java, usamosAspas duplasRepresenta uma string.

Esta string é uma instância da classe String.

Atenção:Todas as variáveis de string são instâncias da classe String.

Métodos de String do Java

O Java String oferece várias métodos que nos permitem executar diferentes operações de string. Aqui estão alguns métodos comuns de string.

MétodoDescrição
concat()Junta duas strings
equals()Compara os valores de duas strings
charAt()Retorna o caractere existente na posição especificada
getBytes()Converte a string em um array de bytes
indexOf()Retorna a posição do caractere especificado na string
length()Retorna o tamanho da string especificada
replace()Substitui o caractere antigo especificado pelo caractere novo especificado
substring()Retorna a substring da string
split()Divide a string em um array de strings
toLowerCase()Converte a string para minúsculas
toUpperCase()Converte a string para maiúsculas
valueOf()Retorna a representação em string de dados especificados

Vamos dar alguns exemplos.

Exemplo1:Java encontrar o comprimento da string

class Main {
  public static void main(String[] args) {
    //Criar string
    String greet = "Hello! World";
    System.out.println("A string é: "); + greet);
    //verifica o comprimento da string
    System.out.println("Tamanho da string: "); + greet.length());
  }
}

Resultados de saída

A string é: Hello! World
Tamanho da string: 12

No exemplo acima, criamos uma string chamada greet. Aqui, usamos o método length() para obter o tamanho da string.

Exemplo2:Java usa concat() para conectar duas strings

class Main {
  public static void main(String[] args) {
    //Criar string
    String greet = "Hello! ";
    System.out.println("Primeira string: ") + greet);
    String name = "World";
    System.out.println("Segunda string: ") + name);
    //Conectar duas strings
    String joinedString = greet.concat(name);
    System.out.println("A string conectada: ") + joinedString);
  }
}

Resultados de saída

Primeira string: Hello!
Segunda string: World
A string conectada: Hello! World

No exemplo acima, criamos2duas strings chamadas greet e name.

Aqui, usamos o método concat() para conectar strings. Portanto, obtemos uma nova string chamada joinedString.

Em Java, também podemos usar + operadores para conectar duas strings.

Exemplo3:Uso+Operador de concatenação em Java

class Main {
  public static void main(String[] args) {
    //Criar string
    String greet = "Hello! ";
    System.out.println("Primeira string: ") + greet);
    String name = "World";
    System.out.println("Segunda string: ") + name);
    //Conectar duas strings
    String joinedString = greet + name;
    System.out.println("A string conectada: ") + joinedString);
  }
}

Resultados de saída

Primeira string: Hello!
Segunda string: World
A string conectada: Hello! World

Aqui, usamos+operadores para conectar duas strings.

Exemplo4:Comparação de strings em Java

class Main {
  public static void main(String[] args) {
    //Criar a string s
    String first = "java programming";
    String second = "java programming";
    String third = "python programming";
    //Comparar a primeira string com a segunda string
    boolean result1 = first.equals(second);
    System.out.println("A primeira e a segunda strings são iguais: ") + result1);
    //Comparar a primeira e a terceira strings
    boolean result2 = first.equals(third);
    System.out.println("A primeira e a terceira strings são iguais: ") + result2);
  }
}

Resultados de saída

A primeira e a segunda strings são iguais: true
A primeira e a terceira strings são iguais: false

No exemplo acima, usamos o método equals() para comparar os valores das duas strings.

Se duas strings forem iguais, o método retorna true, caso contrário, retorna false.

AtençãoPodemos usar o operador == e o método compareTo() para comparar2uma string.

Exemplo5: Obtendo caracteres de uma string no Java

class Main {
  public static void main(String[] args) {
    //Cria uma string usando a string literal
    String greet = "Hello! World";
    System.out.println("A string é: "); + greet);
    //Retorna a posição3no caractere
    System.out.println("Posição3no caractere: " + greet.charAt(3));
    //Retorna a posição7no caractere
    System.out.println("Posição7no caractere: " + greet.charAt(7));
  }
}

Resultados de saída

A string é: Hello! World
Posição3no caractere: l
Posição7no caractere: W

No exemplo acima, usamos o método charAt() para acessar o caractere em uma posição específica.

Exemplo6: Outros métodos de Strings no Java

class Main {
  public static void main(String[] args) {
    //Cria uma string usando a palavra-chave new
    String example = new String("Hello! World");
    //Retorna a substring World
    System.out.println("Usando subString(): "); + example.substring(7));
    //Converte a string para minúsculas
    System.out.println("Usando toLowerCase(): "); + example.toLowerCase());
    //Converte a string para maiúsculas
    System.out.println("Usando toUpperCase(): "); + example.toUpperCase());
    //Substitua o caractere '!' pelo 'o'
    System.out.println("Usando replace(): "); + example.replace('!', 'o'));
  }
}

Resultados de saída

Usando subString(): World
Usando toLowerCase(): hello! world
Usando toUpperCase(): HELLO! WORLD
Usando replace(): Helloo World

No exemplo acima, usamos a palavra-chave new para criar uma string chamada example.

Aqui,

  • O método substring() retorna a string World

  • O método toLowerCase() converte uma string para minúsculas

  • O método toUpperCase() converte uma string para maiúsculas

  • Método replace() substitui o caractere '!' por 'o'.

Os caracteres de escape dentro da string

As strings em Java são representadas porAspas duplasrepresentar.

//Criar string
String example = "This is a string";

Agora, se quisermos incluirAspas duplas。Por exemplo,

//A string contém aspas duplas
String example = "This is the "String" class";

Isso causará um erro. Isso é porque usamosAspas duplaspara representar strings. Portanto, o compilador considera "This is the " como uma string.

Para resolver esse problema, usamos caracteres de escape (\) em Java. Agora podemos incluirAspas duplas,como mostrado a seguir:

//Usar caracteres de escape
String example = "This is the \"String\" class.";

Os caracteres de escape dizem ao compilador para escaparAspas duplasE leia todo o texto.

As strings em Java são imutáveis

Em Java, criar uma string significa criar um objeto da classe string.Não podemos mudar a string ao criá-la em Java.É por isso que chamamos strings em Java deImutávelRazão.

Para entender melhor, vamos ver um exemplo:

//Criar string
String example = "Hello!";

Aqui, criamos um objeto de string "Hello!". Após a criação, não poderemos mais mudá-lo.

Agora, suponhamos que queremos mudar a string.

//Adicionar outra string a essa string
example = example.concat(" World");

Aqui, tentamos adicionar uma nova string à string anterior.

Devido às strings seremImutávelIsso deve causar um erro. Mas está tudo bem.

Parece que podemos mudar a string. Mas, na verdade, não é assim. Vamos ver o que realmente acontece aqui.

Temos uma string "Hello!" referenciada pela variável chamada example. Agora, ao executar o código acima,

  • O JVM aceita a string "Hello!"

  • Adicionar a string "World" a ela

  • Isso criará uma nova string "Hello! World"

  • A variável example agora aponta para a nova string

  • A string anterior "Hello!" permanece inalterada

Atenção:cada vez que criamos uma nova string e a referenciamos por uma variável.

Criar strings usando a palavra-chave new

Até agora, já criamos strings semelhantes às tipos básicos em Java. Mas, devido às strings em Java serem objetos, também podemos criá-las usando a palavra-chave new. Por exemplo,

//Criação de strings usando a palavra-chave new
String name = new String("java string");

No exemplo acima, usamos a palavra-chave new e o construtor String() para criar uma string.

A classe String fornece várias outras funções de construtores para criar strings.

Agora, vamos ver como o processo de criação de strings é diferente do processo anterior.

Diferenças entre literais de string e a palavra-chave new

Agora que sabemos como criar strings usando literais de string e a palavra-chave new, vamos ver o que são as principais diferenças entre eles.

 No Java, o JVM mantém um pool de strings para armazenar todas as strings na memória. O pool de strings ajuda a reutilizar strings.

 Ao criar strings usando textos de string, o valor da string é fornecido diretamente. Portanto, o compilador verifica primeiro o pool de strings para ver se a string já existe.

  • Se a string já existirnão é criada uma nova string. Em vez disso, a nova referência aponta para a string existente.

  • Se a string não existirentão é criada uma nova string.

 No entanto, ao criar strings usando a palavra-chave new, não é fornecido diretamente o valor da string. Portanto, novas strings são sempre criadas.