Carregando...
Carregando...
Ajude a melhorar a plataforma
Considere a implementação de um sistema de gerenciamento de biblioteca que utiliza um método genérico findBook para pesquisar livros por diferentes critérios, como título, autor ou ano de publicação.
O método utiliza o parâmetro de tipo T tanto no tipo de retorno quanto nos parâmetros do método, e é restrito a objetos que implementam a interface Comparable<T> .
Abaixo está uma simplificação do método:
Descrição de imagem: O código consiste na declaração de um método genérico findBook, que recebe um array books e um objeto criteria como parâmetros. Ele utiliza um laço for para percorrer o array books, e uma condição if para comparar cada elemento com o criteria. Se um elemento correspondente é encontrado, o método o retorna; caso contrário, retorna null.
Suponha que a classe Book implementa Comparable<Book> e que a comparação é feita com base no título do livro. Dada a chamada ao método findBook com um array de objetos Book e um critério de busca, análise qual seria o resultado esperado?

Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
🎓 Gabarito Comentado (AVA):
JUSTIFICATIVA
A alternativa "O método retorna o primeiro livro no array que possui o mesmo título que o critério de busca" está correta pois o método findBook percorre o array de livros e utiliza o método compareTo para comparar o título do livro com o critério de busca, retornando o primeiro livro que corresponde ao critério.
A alternativa "O método retorna todos os livros no array que possuem o mesmo autor que o critério de busca" está incorreta pois o método findBook retorna apenas o primeiro livro que corresponde ao critério de busca, e a comparação é feita com base no título do livro, não no autor.
A alternativa "O método retorna o último livro no array que possui o mesmo ano de publicação que o critério de busca" está incorreta pois o método findBook retorna o primeiro livro que corresponde ao critério de busca, e a comparação é feita com base no título do livro, não no ano de publicação.
A alternativa "O método retorna null se nenhum livro no array possui o mesmo título que o critério de busca" está incorreta pois, embora o método retorne null se nenhum livro corresponder ao critério de busca, a justificativa correta deve mencionar que a comparação é feita com base no título do livro.
A alternativa "O método deve lançar uma exceção se o critério de busca não for um objeto da classe Book" está incorreta pois o método não lança uma exceção nesse caso; em vez disso, ele simplesmente não encontrará uma correspondência e retornará null.