1
resposta

Collections.unmodifiableList(aula); nao compila

package br.com.alura;

public class Aula implements Comparable {

private String titulo;
private int tempo;

public Aula(String titulo, int tempo) {
    this.titulo = titulo;
    this.tempo = tempo;
}
public String getTitulo() {
    return titulo;
}
public int getTempo() {
    return tempo;
}
@Override
public String toString() {
    return "[Aula: " + this.titulo + ", "
                    + this.tempo + " minutos]";
}
@Override
public int compareTo(Aula outraAula) {
    return this.titulo.compareTo(outraAula.getTitulo());

}

}

package br.com.alura;
import br.com.alura.Aula;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Curso {

    private String nome;
    private String instrutor;
    private List<Aula> aulas = new LinkedList<Aula>();

    public Curso(String nome, String instrutor) {
        this.nome = nome;
        this.instrutor = instrutor;
    }

    public List<Aula> getAulas() {
        return Collections.unmodifiableList(aula);//(aula) o eclipse nao aceita
    }

    public String getNome() {
        return nome;
    }
    public String getInstrutor() {
        return instrutor;
    }

    public void adiciona(Aula aula) {
        this.aulas.add(aula);
    }
}
1 resposta

Olá Murilo,

o nome da propriedade está errado.

private List<Aula> aulas = new LinkedList<Aula>();
return Collections.unmodifiableList(aula);

Outro ponto que poderia melhorar, é definir na classe Aula, Comparable<Aula> indicando o tipo da comparação. =)