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"));
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.