O método Java String substring() retorna a substring desta string. Este método sempre retorna uma nova string e a string original permanece inalterada porque a String é imutável em Java.
Métodos substring() da String Java
O método Java String substring é sobrecarregado e tem duas variantes.
substring(int beginIndex)
: Este método retorna uma nova string que é uma substring desta string. A substring começa com o caractere no índice especificado e se estende até o final desta string.substring(int beginIndex, int endIndex)
: A substring começa no beginIndex especificado e se estende até o caractere no índice endIndex – 1. Assim, o comprimento da substring é (endIndex – beginIndex).
Pontos Importantes do Método substring() da String
- Ambos os métodos de substring da string podem lançar IndexOutOfBoundsException se alguma das condições abaixo for atendida.
- se o beginIndex for negativo
- endIndex é maior que o comprimento deste objeto String
- beginIndex é maior que endIndex
- beginIndex é inclusivo e endIndex é exclusivo em ambos os métodos de substring.
Exemplo de substring em Java String
Aqui está um programa simples para a substring em java.
package com.journaldev.util;
public class StringSubstringExample {
public static void main(String[] args) {
String str = "www.journaldev.com";
System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
System.out.println("First 4 char String: " + str.substring(0, 4));
System.out.println("website name: " + str.substring(4, 14));
}
}
A saída do programa de exemplo de substring acima é:
Last 4 char String: .com
First 4 char String: www.
website name: journaldev
Verificando Palíndromo usando o Método substring()
Podemos usar o método substring() para verificar se uma String é um palíndromo ou não.
package com.journaldev.util;
public class StringPalindromeTest {
public static void main(String[] args) {
System.out.println(checkPalindrome("abcba"));
System.out.println(checkPalindrome("XYyx"));
System.out.println(checkPalindrome("871232178"));
System.out.println(checkPalindrome("CCCCC"));
}
private static boolean checkPalindrome(String str) {
if (str == null)
return false;
if (str.length() <= 1) {
return true;
}
String first = str.substring(0, 1);
String last = str.substring(str.length() - 1);
if (!first.equals(last))
return false;
else
return checkPalindrome(str.substring(1, str.length() - 1));
}
}
Aqui estamos verificando se a primeira letra e a última letra são iguais ou não. Se elas não forem iguais, retorna falso. Caso contrário, chame o método novamente recursivamente passando a substring com a primeira e última letra removidas.
Pode verificar mais exemplos de strings no nosso Repositório GitHub.
Referência: Documentação da API Oracle
Source:
https://www.digitalocean.com/community/tutorials/java-string-substring