Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Processamento de String Métodos da Classe String Processamento de Strings • Uma variável declarada a partir do tipo String é um objeto, visto que String é uma classe da biblioteca Java. • A classe String disponibiliza métodos do tipo static que permite acesso diretos a métodos sem que um objeto da classe String seja instanciado. Exemplo: String.valueOf(....) - valueOf é um metodo static.String.valueOf(....) - valueOf é um metodo static. • Um objeto da classe String dá acesso a métodos que são métodos de instância, ou seja métodos, que somente podem ser acessados a partir de um objeto. Exemplo: String str1; str1.indexOf(.....) – indexOf é um método de instancia. Processamento de Strings • Através de métodos do tipo static ou métodos acessados a partir de uma instância (objeto) da classe String, pode-se realizar diversos processamentos: � Comparação de strings� Comparação de strings � Conversão de tipos de dados � Processamento de strings e substrings Comparação de Strings • Veja o exemplo abaixo. Qual o resultado? public static void main(String[] args) { String str1 = new String("jose“); String str2 = new String(“jose“); if (str1 == str2) System.out.println("Strings iguais"); elseelse System.out.println("Strings diferentes"); } • A mensagem que vai ser apresentada na console é “Strings diferentes”, pois a comparação que é feita na forma acima, é se os endereços de memória que os objetos instanciados ocupam são o mesmo, o que não é verdade. Comparação de Strings • A comparação de conteúdos do objetos da classe String utiliza-se do método de instância “equals”. • O método equals tem a seguinte assinatura boolean equals(Object param) • Método: equals � Parâmetro de entrada: Object – na comparação de String, recebe como parâmetro um objeto classe String.String, recebe como parâmetro um objeto classe String. � Tipo retorno: boolean – irá retornar false ou true. � Ação: Compara o conteúdo de dois objetos da classe String. • Exemplo: String str1 = new String("jose“); String str2 = new String(“jose“); if (str1.equals(str2)) Conversão de Tipos (para formato String) • Em algumas situações torna-se necessário converter um dado do formato int ou do formato float para um formato String. • A classe String disponibiliza o método valueOf que é static com várias assinaturas, confome exemplos abaixos: static String valueOf(int param) static String valueOf(float param) • Método valueOf (exemplo para int):• Método valueOf (exemplo para int): � Parâmetro de entrada: int – recebe como parãmetro um valor constante ou variável do tipo int. � Tipo retorno: String – retornará um objeto da classe String. � Ação: Transforma o tipo do dado de origem para um objeto da classe String. Conversão de Tipos (para formato String) • Vejamos o exemplo: public static void main(String[] args) { int num = 4532; String str1; str1 = String.valueOf(num); } • O objeto str1 passará a ter o conteúdo “4532” que é uma cadeia de caracteres não podendo ser utilizado em operações aritméticas, por não se tratar de um número na memória e sim um objeto da classe String. Processamento de strings e substrings • Para o processamento de conteúdos de objetos da classe String são disponibilizados alguns métodos de procura e cópia de parte de uma cadeia de caracteres para outra. • Entre outros, temos os seguintes métodos de instância (ou seja métodos acessados através de um objeto da classe): � indexOf� indexOf � lastIndexOf � Substring � split Processamento de strings - indexOf • O método indexOf é utilizado quando precisamos pesquisar a existência de determinada cadeia de caracteres dentro de uma outra string. A cadeia a ser pesquisada pode ser de um ou mais caracteres. • O método tem, entre outras, a seguinte assinatura: int indexOf(String param) • Método: indexOf• Método: indexOf � Parâmetro de entrada: String – cadeia de caracteres a ser pesquisada. Pode ser uma string constante ou objeto do tipo String. � Tipo retorno: int. � Ação: Irá pesquisar no objeto String instanciado a existência de cadeia de caracteres recebida como parâmetro. Caso a cadeia exista, retorna o valor inteiro correspondente ao inicio da cadeia pesquisada dentro da cadeia original. Processamento de strings - indexOf • Exemplo: admita a existência do objeto str1 com o conteúdo abaixo. //posicoes 012345678901234567890123456 String str1 = "2007100;joaquim jose;jj@com"; • A chamada de método abaixo, guarda que valor na variável pos? int pos = str1.indexOf(";"); System.out.println(pos); • O valor retornado pelo método indexOf e armazenado na variável pos é 7. • Se no código acima for chamado o indexOf novamente o retorno será 7. • Caso a cadeia de caracteres procurada não exista será retornado -1. • Para procurar a última ocorrência na cadeia de caracteres utilize lastIndexOf. Processamento de strings - substring • O método substring é utilizado quando precisamos copiar uma parte do conteúdo de uma string para outra. • O método tem, entre outras, a seguinte assinatura: String substring(int param1, int param2) • Método: substring � Parâmetros de entrada: • int param1 a posição de inicio a partir da qual a string será copiada • Int param2 a posição imediatamente após o último caractere a ser copiado. � Tipo retorno: String. � Ação: Irá copiar parte ou toda da string de acordo com os valores dos param1 e param2 fornecidos. Processamento de strings - substring • Exemplo: admita a existência do objeto str1 com o conteúdo abaixo. //posicoes 012345678901234567890123456 String str1 = "2007100;joaquim jose;jj@com"; • A chamada de método abaixo, guarda que valor na variável sub? String sub = str1.substring(0, 7); • O valor retornado será “2007100” que está entre a posição 0 e 7, ou seja, posição 0 inclusive, até a posição 6. Processamento de strings - split • O método split é utilizado quando precisamos obter os dados de uma string que estão separados por caracter padrão. • O método tem, entre outras, a seguinte assinatura: String[] split(String param) • Método: split � Parâmetros de entrada: Uma string que deverá ser o padrão que separa partes de uma stringpadrão que separa partes de uma string � Tipo retorno: vetor de String. � Ação: Irá copiar para uma estrutura de vetor de String as partes de uma string que estão separadas por um padrão. Processamento de strings - split • Exemplo: admita a existência do objeto str1 com o conteúdo abaixo. //posicoes 012345678901234567890123456 String str1 = "2007100;joaquim jose;jj@com"; • A chamada de método abaixo, guarda que valor na variável sub? String[] vet = str1.split(“;”); • O retorno será um vetor de Strings onde cada elemento do vetor representa uma parte da string. vet[0] contém a matricula vet[1] contém o nome vet[2] contém o email
Compartilhar