CodeGym /Blogue Java /Random-PT /Sequências Java
John Squirrels
Nível 41
San Francisco

Sequências Java

Publicado no grupo Random-PT

O que é String em Java?

Na programação, strings são muito comumente usadas. String em java é um objeto que representa uma sequência de caracteres apoiada por um array char. A classe String é imutável em Java e implementa interfaces Comparable , Serializable e CharSequence . Vejamos um exemplo para entender.
String str = "string"
Aqui str é a sequência de 6 caracteres que são s, t, r, i, n e g.
Índice de matriz de caracteres 0 1 2 3 4 5
Valor é t R eu n g
Endereço de memória 0x12824 0x12825 0x12826 0x12827 0x12828 0x12829
Como sabemos agora, o array é imutável, o que significa que não pode ser alterado após a inicialização, portanto a string também é imutável.

Formas de inicialização de String

Existem duas maneiras de inicializar uma string.
  1. Literais de String
  2. Novo Operador

Literal de cadeia de caracteres

A maneira mais fácil e direta de declarar uma string é usada no exemplo acima. Sempre que o compilador interpreta uma string literal, ela é sempre convertida no objeto String.
String str = "string";

Novo Operador

Também podemos inicializar uma string usando o operador new.
String strNew = new String("using new operator");

Exemplo

import java.io.*;
import java.lang.*;

class StringInitializationExample {
    public static void main(String[] args)
    {
        //declare java string with a string literal
        String str = "a string literal";

        System.out.println("String str = " + str);

        //declare string using new operator
        String strNew = new String("using new operator");

        System.out.println("String strNew = " + strNew);
    }
}

Saída

String str = uma string literal String strNew = usando o novo operador

String vs StringBuilder vs StringBuffer

Já discutimos o que é a classe String, então discutiremos as outras duas classes e sua finalidade, junto com o motivo pelo qual Java introduziu essas duas classes quando já possui a classe String para nós. É melhor você ir ao topo e fazer uma revisão da classe String para entendê-la melhor.

Razão

Como sabemos que o objeto da classe String é imutável, sempre que precisamos alterar a string, ele nunca altera o objeto atual, mas o valor alterado é sempre armazenado como um novo objeto String. Portanto, se precisarmos alterar o valor repetidamente, a memória também será consumida. Mantendo este ponto, Java nos forneceu as classes StringBuilder e StringBuffer . Agora veremos como eles são úteis neste cenário.

StringBuffer

String é uma representação de uma sequência imutável de caracteres, mas StringBuffer é uma sequência mutável de caracteres . Ele usa a maioria dos métodos da classe String junto com alguns próprios para alterar o conteúdo e a sequência de caracteres. É thread-safe porque seus métodos são sincronizados para uso por vários threads, mantendo a ordem serial. Ele implementa as interfaces Serializable , Appendable e CharSequence .

Sintaxe

StringBuffer str = new StringBuffer("Happy Java Programming");

StringBuilder

StringBuilder também representa a sequência mutável de caracteres. Ele fornece uma API compatível com a classe StringBuffer, mas não é thread-safe. Portanto, onde vários threads não estão envolvidos, é melhor usar a classe StringBuilder , pois ela é mais rápida que a classe StringBuffer em muitos casos. Os principais métodos desta classe são inserir e anexar. Ele também implementa as interfaces Serializable , Appendable e CharSequence .

Sintaxe

StringBuilder str = new StringBuilder("Happy Java Programming");

Operações de cordas

Em Java podemos realizar operações de string como Concatenação , Comparação , Divisão , Localização de Comprimento , Substituição de Strings e assim por diante.

Métodos de string

A classe Java String fornece vários métodos para manipular as strings ou executar as operações discutidas acima. Vamos dar uma olhada na tabela abaixo para alguns desses métodos de string.
Métodos Descrição
Char charAt(índice int) Ele retorna o valor char no índice fornecido.
String concat(String str) Ele retorna uma string combinando uma string especificada ao final desta string.
booleano contém (CharSequence s) Ele retorna verdadeiro se a string contiver uma sequência especificada de valores char.
conteúdo booleanoEquals(CharSequence cs) Ele corresponde à string com a sequência de caracteres fornecida.
conteúdo booleanoEquals(StringBuffer sb) Ele corresponde à string com o buffer de string fornecido.
boolean endsWith (sufixo de string) Ele compara o final da string com o sufixo fornecido.
booleano é igual (Objeto e Objeto) Corresponde a string ao objeto fornecido.
booleano igual aIgnoreCase(String outraString) Este método compara duas strings sem levar em consideração a distinção entre maiúsculas e minúsculas.
formato de string estático (formato de string, objeto… args) Ele retorna a string formatada usando o formato fornecido e os argumentos.
byte getBytes() Este método usa o conjunto de caracteres padrão da plataforma para codificar a string em uma sequência de bytes, que é então armazenada em uma nova matriz de bytes.
void getChars(int início, int fim, char[] dst, int dstBegin) Ele copia os caracteres da string para a matriz de caracteres de destino.
int hashCode() Ele retorna o código hash da string.
int indexOf(int ch) Ele retorna o índice do caractere especificado que ocorre primeiro na string.
int indexOf(int ch, int fromIndex) Ele retorna o índice do caractere especificado que ocorre primeiro a partir do índice fornecido nesta string.
int indexOf(Stringstr) Ele procura a substring fornecida na string e retorna o índice na primeira ocorrência.
int indexOf(String str, int fromIndex) Ele começa a procurar a substring fornecida na string do índice fornecido e retorna o índice na primeira ocorrência.
Estagiário de string() Este método retorna a representação canônica da string.
int lastIndexOf(int ch) Este método procura o caractere fornecido na string e retorna o índice da última ocorrência.
int lastIndexOf(int ch, int fromIndex) Este método pesquisa retroativamente a partir do índice fornecido o caracter fornecido na string e retorna o índice da última ocorrência.
int lastIndexOf(Stringstr) Este método procura a substring fornecida na string e retorna o índice da última ocorrência.
int lastIndexOf(String str, int fromIndex) Este método pesquisa retroativamente a partir do índice fornecido a substring fornecida na string e retorna o índice da última ocorrência.
comprimento interno() Este método retorna o comprimento da string.
correspondências booleanas (String regex) Ele retorna verdadeiro ou falso combinando a string com a expressão regular fornecida.
Substituição de string(char oldValue, char newValue) Este método retorna uma string após substituir todos os oldValue fornecidos pelo newValue na string.
String[] divisão(String regex) Este método encontra todas as correspondências de acordo com a expressão regular fornecida na string e a divide em torno dessas correspondências.
booleano começa com (prefixo de string) Ele retorna verdadeiro ou falso testando a string iniciada com o prefixo fornecido.
Substring de string(int BeginIndex) Este método retorna uma string que é a substring desta string.
String toLowerCase() Ele converte todos os caracteres da string em minúsculas usando as regras do código do idioma padrão.
Corte de string() Este método remove todos os espaços em branco iniciais e finais da string e os retorna.
String estática valorOf(char c) Ele retorna a representação em string do argumento char.
Agora com a ajuda de alguns exemplos, veremos como utilizá-los.

Exemplo

import java.io.*;
import java.lang.*;

class JavaStringsExample {
  public static void main(String[] args) {

    //create a string
    String greeting = "Hello! World";
    System.out.println("String: " + greeting);

    //getting the length of greeting object
    int length = greeting.length();
    System.out.println("Length: " + length);

    //create first string
    String first = "Java ";
    System.out.println("First String: " + first);

    //create second string
    String second = "Programming";
    System.out.println("Second String: " + second);

    //joining two strings
    String joinedString = first.concat(second);
    System.out.println("Joined String: " + joinedString);

    String jpf = "Java programming";
    String jps = "Java programming";
    String jpt = "Python programming";

    //compare jpf and jps strings
    boolean result1 = jpf.equals(jps);
    System.out.println("Strings jpf and jps are equal: " + result1);

    //compare jpf and jpt strings
    boolean result2 = jpf.equals(jpt);
    System.out.println("Strings jpf and jpt are equal: " + result2);

    //converting jpf to uppercase
    System.out.println("Upper case jpf: " + jpf.toUpperCase());

    //replacing g character with v in jpf
    System.out.println("Replacing g with v in jpf: "+jpf.replace("g", "v"));
  }
}

Saída

Corda: Olá! Comprimento mundial: 12 Primeira string: Java Segunda string: Programação String unida: Strings de programação Java jpf e jps são iguais: true Strings jpf e jpt são iguais: false Maiúsculas jpf: JAVA PROGRAMMING Substituindo g por v em jpf: java provramminv

Conclusão

Esperamos que agora você já tenha entendido o que são strings em java, suas classes e como implementar seus diferentes métodos. Sinta-se à vontade para praticar e voltar sempre que precisar de mais ajuda. Feliz aprendizado!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION