cami-la / curso-dio-intro-collections

Resolução dos exercícios propostos: CURSO INTRODUTÓRIO COLLECTIONS FRAMEWORK JAVA.
https://web.digitalinnovation.one/home
602 stars 210 forks source link

Erro na execução da collection #13

Open Diego1083 opened 2 years ago

Diego1083 commented 2 years ago

Boa noite, clonei o repositorio só que está gerando erro, minha verão do java é a jdk 8. Até tentei resolver mas tenho pouco conhecimento. Fazendo o curso pelo bootcamp GFT Quality Assurance #1

List meusGatos = new ArrayList<>(){{ ( Replace ' <>' with explicit type arguments ) add(new Gato("Jon", 12, "preto")); add(new Gato("Simba", 6, "tigrado")); add(new Gato("Jon", 18, "amarelo"))

erro: C:\IdeaProjects\curso-dio-intro-collections\src\br\com\dio\collection\list\ExemploOrdenacaoList.java:20:45 java: cannot infer type arguments for java.util.ArrayList reason: cannot use '<>' with anonymous inner classes

NildsonKleyton commented 2 years ago

Seria assim

        List<Gato> meusGatos = new ArrayList<>(){{
            add(new Gato("Jon", 12, "preto"));
            add(new Gato("Simba", 6, "tigrado"));
            add(new Gato("Jon", 18, "amarelo"));
        }};

se seu código estiver completo, estar faltando o ; nessa espreção add(new Gato("Jon", 18, "amarelo"))

cami-la commented 2 years ago

Oi, Diego. Tudo certinho? Seguinte, tu podes colocar o ;, tá? Na verdade, acredito que foi erro de digitação mesmo. No Java o ; é obrigatório sempre.

Sobre o <>, caso ainda não esteja funcionando, é porque em List você precisa fazer assim: List<Gato> meusGatos = new ArrayList<>()

Tenta fazer assim e me diz se dá certo.

thaisconto commented 1 year ago

Estou com o mesmo problema.

Ele não aceita essa <> vazio, dá a mensagem:

'<>' cannot be used with anonymous classes

Não estou consiguindo resolver. E no exercício das séries apresenta o mesmo problema.

cami-la commented 1 year ago

Oi, @thaisconto Descreve melhor o que está dando errado? Coloca a parte do código aqui.

Dá uma olhadinha no código-fonte do curso, separei em pastas.

Talvez você não esteja fazendo igual como foi feito na aula.

https://github.com/cami-la/curso-dio-intro-collections/tree/master/src/br/com/dio/collection

thaisconto commented 1 year ago

Oi! Eu copiei o código fonte e deu certo, muito obrigada! Descobri que estava colando um ";" a mais no código

cami-la commented 1 year ago

Isso, aí @thaisconto muitooo comum acontecer de esquecer algumas coisas no começo. Depois você vai ver que fica intuitivo. ✨

Qualquer dúvida, é só falar.

laissalviatoclaudiano commented 1 year ago

Boa noite! Comecei a fazer esse exercício junto da aula e o meu está dando o mesmo problema, e a meu ver está tudo igual 😅 ao executar diz que "'<>' cannot be used with anonymous classes". Java version "1.8.0_202". EDIT: estou fazendo pelo VSCode.

public class ExemploOrdenacaoList {
    public static void main(String[] args) {

        List<Gato> meusGatos = new ArrayList<>() {
            {
            add(new Gato("Jon", 12, "preto"));
            add(new Gato("Simba", 6, "tigrado"));
            add(new Gato("Jon", 18, "amarelo"));
            }
        };
        System.out.println(meusGatos);

    }
}

class Gato {
    private String nome;
    private Integer idade;
    private String cor;

    public Gato(String nome, Integer idade, String cor) {
        this.nome = nome;
        this.idade = idade;
        this.cor = cor;
    }

    public String getNome() {
        return nome;
    }

    public Integer getIdade() {
        return idade;
    }

    public String getCor() {
        return cor;
    }

    @Override
    public String toString() {
        return "{" +
                "nome='" + nome + '\'' +
                ", idade=" + idade +
                ", cor='" + cor + '\'' +
                '}';
    }
}
cami-la commented 1 year ago

Oi, @laissalviatoclaudiano. Tudo bem? Então, você está utilizando o Java na versão 8, né?

Se eu não me engane, como é no Java 8, tenta declarar assim List<Gato> meusGatos = new ArrayList<Gato>() e me diz se deu certo. (:

laissalviatoclaudiano commented 1 year ago

@cami-la agora foi! Obrigada! 😄