Estou fazendo os exercícios dessa aula e o meu método sort não funciona de jeito nenhum! As aulas não se organizam em ordem alfabética nem nada, já até tentei copiar o código do professor e colocar lá, mas nada funcionou. Aqui vai o código de algumas classes:
Classe TestaCurso2
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TestaCurso2 {
public static void main(String[] args) {
Curso cursoJava = new Curso("Curso Introdução Java", "Jorge Alcântara");
cursoJava.adiciona(new Aulas("Introdução", 4));
cursoJava.adiciona(new Aulas("Principais Conceitos", 9));
cursoJava.adiciona(new Aulas("Java na prática", 16));
System.out.println(cursoJava.getLista());
List<Aulas> aulas = new ArrayList<>(cursoJava.getLista());
Collections.sort(aulas);
System.out.println(aulas);
}
}
Classe Curso
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Curso {
private String instrutor;
private String nome;
private List<Aulas> lista = new ArrayList<>();
public Curso(String instrutor, String nome) {
this.instrutor = instrutor;
this.nome = nome;
}
public String getNome(){
return this.nome;
}
public String getInstrutor() {
return instrutor;
}
public void adiciona(Aulas aula) {
this.lista.add(aula);
}
public List<Aulas> getLista() {
return Collections.unmodifiableList(lista);
}
}
Classe Aulas:
public class Aulas implements Comparable<Aulas> {
private String nome;
private int duracao;
public Aulas(String nome, int duracao) {
this.duracao = duracao;
this.nome = nome;
}
public String getNome() {
return nome;
}
public int getDuracao() {
return duracao;
}
@Override
public String toString() {
return "Aula: " + this.nome + ", " + this.duracao + " minutos.";
}
@Override
public int compareTo(Aulas outraAula) {
return this.nome.compareTo(getNome());
}
}