1
resposta

Duvida Exercicio 2 e 3

Minha duvida e referente a resolução do exercicio. Quando fui comparar percebi que para não dar erro tive que criar um construtor na classe Titulo para instanciar objetos "A", "B" e C" , porém na resolução não aparece esse construtor oque me deixou na duvida se meu código contem algum erro sobre isso?

package TitulosComaparar;

public class Titulo implements Comparable <Titulo> {

    String name;

    public Titulo(String nome){
        this.name = nome;
    }
    @Override
    public int compareTo(Titulo outroTitulo) {
        return this.name.compareTo(outroTitulo.name);
    }

}

    
    package TitulosComaparar;

import java.util.ArrayList;
import java.util.Collections;

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

        ArrayList<Titulo>listaDeTitulos = new ArrayList<>();

        listaDeTitulos.add(new Titulo("D"));
        listaDeTitulos.add(new Titulo("A"));
        listaDeTitulos.add(new Titulo("B"));

        Collections.sort(listaDeTitulos);

        for(Titulo titulo: listaDeTitulos){
            System.out.println(titulo.name);
        }
    }

}
1 resposta

Oii Marcos, tudo bem?

Sobre a sua dúvida referente ao construtor na classe Titulo, é completamente normal e correto que você tenha criado um construtor para instanciar objetos com nomes diferentes. O construtor que você adicionou é essencial para que os objetos da classe Titulo possam ser criados com diferentes valores para o atributo name.

No contexto do exercício proposto, a criação de um construtor na classe Titulo é uma solução adequada para permitir a comparação entre diferentes objetos Titulo usando o método compareTo, que você implementou corretamente. O fato de o construtor não aparecer na resolução é uma escolha de estilo ou simplificação para focar em outros aspectos do exercício. Ou seja, para que o código não ficasse muito grande na atividade.

Seu código está correto ao adicionar um construtor que inicializa o atributo name e ao implementar a interface Comparable<Titulo> para definir como os títulos serão comparados (neste caso, alfabeticamente pelo nome). Isso permite que você use Collections.sort(listaDeTitulos) para ordenar a lista de títulos conforme desejado.

Então, você não precisa se preocupar, pois seu código tá correto e bem estruturado para o objetivo do exercício. A implementação do construtor foi uma decisão inteligente e necessária para a funcionalidade do seu programa.

Um abraço e bons estudos.