Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafios Java - Ordenando dados

Estou realizando os exercicios de fixação número 2 e 3 do curso Java: Trabalhando com Listas e Coleções de Dados. As respostas do instrutor estão declarando a classe Titulo implementando o Comparable. no override do metodo compareTo, estou fazendo da mesma forma descrita, porém está dando erro "'Titulo()' cannot be applied to '(java.lang.String)'". Não sei se é algo que mudou da versão de quando foi gravado o curso... Se alguém puder me ajuda, ficarei grato.

1 resposta
solução!

Olá, Marcos! Tudo joia?

O erro "''cannot be applied to '(java.lang.String)'" geralmente ocorre quando você está tentando passar um argumento para um construtor que não foi definido para aceitar esse tipo de argumento.

No exercício, é solicitado que você crie uma classe Titulo com um atributo nome do tipo String. Então, para criar um objeto Titulo, você precisa passar uma String para o construtor. Aqui está um exemplo de como a classe Titulo pode ser definida:

public class Titulo implements Comparable<Titulo> {
    private String nome;

    public Titulo(String nome) {
        this.nome = nome;
    }

    public String getNome() {
        return nome;
    }

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

Neste exemplo, a classe Titulo tem um construtor que aceita uma String como argumento. Quando você cria um novo objeto Titulo, você precisa passar uma String para o construtor. Por exemplo:

Titulo titulo = new Titulo("Nome do Título");

Se você tentar criar um objeto Titulo sem passar uma String para o construtor (por exemplo, Titulo titulo = new Titulo();), você receberá o erro que mencionou.

Caso mesmo assim você não tenha conseguido resolver o seu problema, peço que compartilhe o seu código, pode ser que tenha alguma inconsistência na sua implementação que você não está conseguindo identificar.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.