Funções de String em Java | String Java [com exemplos]

Publicados: 2020-12-01

Índice

Introdução

Java ganhou muito respeito entre os programadores por causa de seu suporte à programação orientada a objetos e funções pré-definidas para os tipos de dados fornecidos. Strings são um dos tipos de dados impressionantes fornecidos por java.

Eles são imutáveis ​​e armazenados na área de heap em um bloco de memória separado chamado String Constant Pool. Existem muitas funções pré-definidas para strings em java, vamos explorá-las!

Funções

charAt()

Para acessar o caractere em uma posição específica, não precisamos de um loop para iterar nesse índice, a função charAt() faz o trabalho duro para você!. A função charAt() retorna o caractere em uma determinada posição na string, lembre-se que o índice começa em 0 em java.

Esta função é definida com o modificador de acesso como public e retorna um char. Esse método espera um inteiro como parâmetro e acessar a função com um parâmetro maior que o comprimento da string retorna uma exceção IndexOutOfBounds, que é uma exceção de tempo de execução.

String str = olá ;

char primeiro = str . charAt( 0 );

char segundo = str . charAt( 1 );

Sistema . fora . println(primeiro + + segundo);

O trecho acima fornecerá 'he' como saída porque a primeira variável é atribuída com o caractere 'h' e a variável segundo é atribuída com o caractere 'e'.

compareTo() e compareToIgnoreCase()

Comparar duas strings não funcionará com um operador == em java, pois ele verifica se o endereço de ambas as variáveis ​​e retorna true se ambas as variáveis ​​tiverem o mesmo endereço. Portanto, um operador == falha ao comparar o conteúdo das strings, e aqui entra em ação o método compareTo().

Este método público espera uma string ou um objeto como parâmetro a ser comparado e retorna um valor inteiro após uma comparação lexicográfica, lembre-se que este método diferencia maiúsculas de minúsculas. Mas podemos usar compareToIgnoreCase() para uma comparação ignorando as letras minúsculas e maiúsculas dos caracteres.

String str1 = Olá ;

String str2 = Olá ;

String str3 = olá ;

int i1 = str1 . comapreTo(str2);

int i2 = str2 . compareTo(str3);

int i3 = str2 . compareToIgnoreCase(str3);

Sistema . fora . println(i1 + i2 + + i3);

O trecho acima imprimirá '1 0 1' como saída porque a variável i1 é atribuída com 1, pois ambas as strings são iguais, a variável i2 é atribuída com 0, pois estamos comparando strings por diferenciação de maiúsculas e minúsculas. Da mesma forma, a variável i3 é atribuída com 1, pois estamos comparando as strings ignorando as maiúsculas e minúsculas.

concat()

Como as strings são imutáveis, não podemos editar o valor de uma string, em vez disso, podemos apenas reatribuir o valor atualizado à mesma variável. Podemos usar o método concat() para concatenar ambas as strings. Este método espera uma string como parâmetro que deve ser concatenado e retorna uma nova string concatenada.

String s1 = primeiro ;

String s2 = segundo ;

Sistema . fora . println(s1 . concat(s2));

O trecho acima imprime uma string “first second”.

Leia: Propriedades e benefícios do JavaBeans: como você deve utilizar?

contém()

Verificar se uma string está presente como uma subsequência de outra string agora é uma moleza. O método contains() em java é uma função pública booleana e retorna true se uma sequência de caracteres estiver presente em uma string e false se não estiver. Esse método espera uma sequência de caracteres como parâmetro e retorna um NullPointerException se um objeto nulo for passado como parâmetro.

String s1 = Olá ;

Sistema . fora . println(s1 . contém( o )); //linha 1

Sistema . fora . println(s1 . contém( “” )); //linha 2

Sistema . fora . println(s1 . contém( null )); //linha3

O trecho acima imprime True para a linha 1 porque a sequência “the” está presente na string, da mesma forma a linha 2 imprime True porque uma sequência vazia retorna True por padrão. E a linha 3 lança um NullPointerException desde que um valor nulo seja passado como parâmetro.

índice de()

Vimos uma função java que retorna o caractere presente em um determinado índice, mas e se quisermos o índice da primeira ocorrência de um determinado caractere. Relaxe, a função indexOf() faz o trabalho. Esta função é substituída internamente por quatro assinaturas diferentes, vamos percorrê-las.

String s1 = Ei, ei, ei, ei, ei ;

Sistema . fora . println(s1 . indexOf( " " )); //linha 1

Sistema . fora . println(s1 . indexOf( " " , 5 )); //linha 2

Sistema . fora . println(s1 . indexOf( ' T ' )); //linha 3

Sistema . fora . println(s1 . indexOf( ' T ' , 16 )); //linha 4

No trecho acima, a função chamada na linha1 espera uma string e esta retorna o índice inicial da primeira ocorrência de uma determinada string, imprime 4 neste caso. A função chamada na linha2 espera uma string junto com um inteiro como parâmetros, agora esse inteiro se refere ao índice inicial onde a busca por uma determinada string começa a partir desse índice, imprime 37 neste caso.

A função chamada na linha3 espera um caractere como parâmetro, retorna a primeira ocorrência do caractere fornecido, imprime 15 neste caso. Da mesma forma, a função presente na linha4 espera um caractere e um inteiro.

Onde o inteiro representa o índice inicial e, em seguida, a pesquisa pelo caractere fornecido começa a partir desse caractere, ele imprime 26 nesse caso. Lembre-se que esta função é completamente case sensitive, o que podemos ver no trecho acima.

está vazia()

Esta função faz uma tarefa simples, mas muito útil do ponto de vista do programador. Esta função booleana retorna True se a string estiver vazia e False se não estiver. Esta função ajuda a verificar se uma string está vazia antes de executar qualquer tarefa na string porque poucas das funções lançam uma exceção para strings vazias que interrompem o fluxo de execução.

String s1 = Olá ;

Cadeia s2 = “” ;

Sistema . fora . println(s1 . isEmpty()); //linha 1

Sistema . fora . println(s2 . isEmpty()); //linha 2

O snippet acima imprime False para a linha1 e True para a linha2.

comprimento()

Descobrir o comprimento de uma string não é mais uma tarefa tediosa, a função length() em java retorna o comprimento da string fornecida. Isso retorna zero se uma string vazia for passada como parâmetro.

String s1 = abcdefghijklmnopqrstuvwxyz ;

Sistema . fora . println(s1 . comprimento());

O código acima imprime 26.

substituir()

Ao contrário da função indexOf(), onde ela retorna apenas a primeira ocorrência da sequência, a função replace() substitui todos os caracteres especificados pelo novo caractere fornecido e retorna uma nova string. Esta função pública espera dois caracteres, digamos, c1 e c2 como parâmetros. Onde ele procura todos os caracteres iguais a c1 e os substitui por c2.

String s1 = oláHELLO ;

Sistema . fora . println(s1 . replace( ' l ' , ' p ' ));

Lembre-se de que esta função diferencia maiúsculas de minúsculas, portanto, o trecho acima imprime “heppoHELLO”.

toLowerCase() e toUpperCase()

Converter uma string para minúscula ou vice-versa é uma tarefa divertida em java, que só precisa da arte de uma única linha de código, e as funções toLowerCase(), toUpperCase() são os artistas.

Essas funções públicas não esperam parâmetros e retornam uma nova string com as letras maiúsculas e minúsculas atualizadas dos caracteres.

String s1 = Olá ;

Sistema . fora . println(s1 . toUpperCase()); //linha 1

Sistema . fora . println(s1 . toLowerCase()); //linha 2

No trecho acima, a linha 2 imprime “hey there” e a linha 1 imprime “HEY THERE”.

Aprenda: Manipulação de eventos em Java: o que é isso e como funciona?

aparar()

Uma abordagem ingênua para remover os espaços em branco à direita e à esquerda em uma string é fazer um loop sobre a string e remover o caractere se for um espaço em branco, mas há uma maneira ideal. A função trim() remove todos os espaços iniciais e finais da string e retorna uma nova string. Esta função pública não espera nenhum parâmetro.

String s1 = Olá ;

Sistema . fora . println(s1 . trim());

O snippet acima imprime “Hey There”, que é a nova string depois de cortar os espaços em branco à direita e à esquerda.

Conclusão

Percorremos algumas das funções de string em java, entendemos como elas funcionam, o que elas esperam e o que elas retornam. Explorou as assinaturas substituídas de algumas funções, percorreu um trecho de código de amostra para um entendimento adequado. Agora que você conhece algumas funções, comece a utilizá-las sempre que necessário.

Se você estiver interessado em aprender mais sobre Java, OOPs e desenvolvimento de software full-stack, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, 9 + projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Prepare-se para uma carreira do futuro

APRENDIZAGEM CONFIÁVEL NA INDÚSTRIA - CERTIFICAÇÃO RECONHECIDA NA INDÚSTRIA.
Saber mais