1
resposta

Percebi um erro ao fazer a depuração do código

Ao fazer a depuração do código percebi esse erro aparecendo em minha classe:

!IImagem: (https://cdn1.gnarususercontent.com.br/1/894810/804be6a7-1dda-4e62-a133-0e5d7bddf326.png)

Segue a classe AcervoDeLivros onde instânciei os atributos e metodos para inserir os livros:

public class AcervoDeLivros {

private String titulo;
private String autor;
private double preco;
private int quantidadeEstoque;

public AcervoDeLivros(String titulo, String autor, double preco, int quantidadeEstoque)
        throws NullPointerException {
    this.titulo = titulo;
    this.autor = autor;
    this.preco = preco;
    this.quantidadeEstoque = quantidadeEstoque;
}

public AcervoDeLivros() {
}

public String getTitulo() {
    return titulo;
}

public String getAutor() {
    return autor;
}

public double getPreco() {
    return preco;
}

public int getQuantidadeEstoque() {
    return quantidadeEstoque;
}

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((autor == null) ? 0 : autor.hashCode());
    long temp;
    temp = Double.doubleToLongBits(preco);
    result = prime * result + (int) (temp ^ (temp >>> 32));
    result = prime * result + quantidadeEstoque;
    result = prime * result + ((titulo == null) ? 0 : titulo.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    AcervoDeLivros other = (AcervoDeLivros) obj;
    if (autor == null) {
        if (other.autor != null)
            return false;
    } else if (!autor.equals(other.autor))
        return false;
    if (Double.doubleToLongBits(preco) != Double.doubleToLongBits(other.preco))
        return false;
    if (quantidadeEstoque != other.quantidadeEstoque)
        return false;
    if (titulo == null) {
        if (other.titulo != null)
            return false;
    } else if (!titulo.equals(other.titulo))
        return false;
    return true;
}

@Override
public String toString() {
    return "[Titulo: " + this.titulo + " -" + " Autor: " + this.autor + "]" + "\n";
}

}

A classe LojaOnline onde estou construindo a parte principal do projeto:

public class LojaOnline {

private String nomeDaLoja;
private Collection<AcervoDeLivros> livro = new ArrayList<AcervoDeLivros>();

public LojaOnline(String nomeDaLoja) throws NullPointerException {
    this.nomeDaLoja = nomeDaLoja;
}

public Collection<AcervoDeLivros> getLivro() {
    return livro;
}

public void AdicionarLivro(AcervoDeLivros livro) {
    this.livro.add(livro);
}

public void RemoveLivro(AcervoDeLivros livro) {
    this.livro.remove(livro);
}

public String getNomeDaLoja() {
    return nomeDaLoja;
}

}

A classe main onde estou fazendo os testes:

public class TesteGoldenHall {

public static void main(String[] args) {

    LojaOnline loja = new LojaOnline("Golden Hall");    

    loja.AdicionarLivro(new AcervoDeLivros("O Senhor dos Anéis: A Sociedade do Anel", "J.R.R Tolkien", 69.90, 200));
    loja.AdicionarLivro(new AcervoDeLivros("O Senhor dos Anéis: As duas torres", "J.R.R Tolkien", 69.90, 200));
    loja.AdicionarLivro(new AcervoDeLivros("O Senhor dos Anéis: O retorno do rei", "J.R.R Tolkien", 69.90, 200));
    loja.AdicionarLivro(new AcervoDeLivros("O Hobbit", "J.R.R Tolkien", 49.90, 150));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 1", "Frank Herbert", 60.83, 70));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 2", "Frank Herbert", 60.83, 70));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 3", "Frank Herbert", 60.83, 70));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 4", "Frank Herbert", 60.83, 70));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 5", "Frank Herbert", 60.83, 70));
    loja.AdicionarLivro(new AcervoDeLivros("Duna: livro 6", "Frank Herbert", 60.83, 70));

    System.out.println(loja.getLivro());


}

}

Ao fazer a depuração para entender melhor o funcionamento do meu código percebi este erro, alguem sabe dizer porque isso acontece? o código compila sem problemas, só fiquei curioso e gostaria de uma solução. Creio que ao aumentar a complexidade do código ou tentar fazer um projeto maior partindo deste começo esse erro que agora pode passar desapercebido poderá gerar uma dor de cabeça, desde já agradeço.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Noite... Beleza Diego, não é um erro de código como podemos ver: https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html#toArray-- (o método é definido sim para Colletion). E sim um erro do debug da versão desse eclipse, tenta fazer um upgrade da IDE ou utilizar o intelliJ (o mercado hoje em dia trabalha mais com essa IDE :) )