Uma operação comum em arrays é a busca por um determinado registro. Vamos agora criar um método para retornar um registro de um livro em particular.
Exemplo_2_2_004: exemplo de passagem de array como parâmetro para a função.
/** * A instância dessa classe armazena uma coleção de livros * @autor Andrei * */ public class biblioteca { ... /** * Imprime um livro específico biblioteca * * @param index do livro * @return não possui valor de retorno * */ public void imprimeLivro(int i){ System.out.println( "Título: " + livros[i].getTitulo() ); System.out.println( "Autor: " + livros[i].getAutor() ); System.out.println( "Data: " + livros[i].getData() ); System.out.println( "Editora: " + livros[i].getEditora() ); System.out.println( "---------------------------------" ); } /** * Busca o indice de um livro específico * * @param titulo do livro * @return indice do livro na biblioteca. * */ public int getLivro(String titulo){ int indice=-1; for(int i=0; i<livros.length;i++){ if(livros[i].getTitulo().equals(titulo)){ return i; } } return indice; } public static void main(String[] args) { ... biblioteca biblio = new biblioteca(livros); int indice = biblio.getLivro("Livro - Java Para Iniciantes"); if(indice>0){ biblio.imprimeLivro(indice); } } }
Para fazer a comparação do título utilizamos o método equals(). Isso permite usar o mesmo método de comparação para qualquer tipo de dado. Uma observação importante é que estamos comparando nesse caso o título inteiro.