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( " lá " )); //linha 1 Sistema . fora . println(s1 . indexOf( " lá " , 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.