Pode me explicar como ele viu que existe uma substring? pq não entendi essa tal de substring na Alu
System.out.println(vazio.contains("Alu"));
Pode me explicar como ele viu que existe uma substring? pq não entendi essa tal de substring na Alu
System.out.println(vazio.contains("Alu"));
Olá, Diogo. Tudo bem?
Uma substring é uma String que está contida em outra String. Se "Alura"
é uma string e "Alu"
também é, então "Alu"
é uma substring de "Alura"
. Para descobrir se uma string X é substring de uma string Y, basta você percorrer a string caractere por caractere e verificar se em algum local de Y tem caracteres iguais a X.
Para fazer isso, usamos algorítmos de reconhecimento de padrões. Temos um texto queremos saber se dentro dele temos um pedaço que é igual ao padrão que estamos procurando.
Por exemplo:
public static int verificaSeEhSubstring(char[] padrao, char[] texto) {
int tamanhoDoPadrao = padrao.length;
int tamanhoDoTexto= texto.length;
int i = 0;
while ((i + tamanhoDoPadrao) <= tamanhoDoTexto) {
int j = 0;
while (texto[i + j] == padrao[j]) {
j += 1;
if (j >= tamanhoDoPadrao)
return i;
}
i += 1;
}
return -1;
}
Checamos se a string que queremos saber se faz parte de outra tem um tamanho menor ou igual, pois se for maior já não tem como. Olhamos a primeira letra do texto que estamos analisando e, se for igual à primeira letra do padrão que estamos procurando, checamos se a seguinte também é igual. Se não for, apenas passamos para a próxima letra do texto e repetimos o processo.
O Java tem na sua biblioteca de Strings o método contains que, internamente, utiliza algum algorítmo de reconhecimento de padrões.
Espero ter ajudado.