Ola, estou tentando resolver uma lista de exercícios e estou me deparando com alguns erros que não sei muito bem como arrumar.
O inicio da classe pedia para inicializar "theMap " no construtor e imagino que fiz corretamente.
public class MapAuthorshipTracker implements AuthorshipTracker {
/* DO NOT MODIFY THIS */
private Map<Author, Set<Book>> theMap;
/* DO NOT ADD MORE ATTRIBUTES */
public MapAuthorshipTracker() {
/* COMPLETE */
this.theMap = new HashMap<>();
}
Logo tenho o primeiro método que é adicionar os livros a seus autores e tentei aqui somente colocar uma linha para ver se estava correto pois tinha visto método put que pede uma key no caso um autor e seus valores que seriam os livros.
@Override
public int addBooksToAuthor(Author author, Collection<Book> books) {
/*
* Binds the given author with the books in the second argument. Books already
* bound to the author are not bound again. Returns the number of books
* effectively bound to the author.
*/
theMap.put(author, (Set<Book>) books);//aqui esta marcado o erro de cast
return 0;
}
Mas quando vou rodar tenho esse erro:
java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.Set
Agradeço qualquer ajuda.