Olá!
Estava seguindo o exemplo de como ordenar uma lista utilizando os recursos do java 8, conforme o instrutor ensinou no vídeo:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TestaListadeAulas {
public static void main(String[] args) {
Aula a1 = new Aula("Revistando as ArrayLists", 21);
Aula a2 = new Aula("Listas de objetos", 20);
Aula a3 = new Aula("Relacionamento de listas e objetos", 15);
List<Aula> lista = new ArrayList <Aula>();
lista.add(a1);
lista.add(a2);
lista.add(a3);
for (Aula aula : lista) {
System.out.println(aula);
}
System.out.println("---------------------");
Collections.sort(lista);
for (Aula aula : lista) {
System.out.println(aula);
}
lista.sort(Comparator.comparing(Aula::getTempo));
System.out.println("---------------------");
for (Aula aula : lista) {
System.out.println(aula);
}
}
}
Porém, ao invocar o método lista.sort(), o IDE eclipse aponta essa linha como erro de sintaxe. O estranho é que ao compilar e executar pelo terminal (estou usando um leptop Linux Mint 18.2), o código funciona perfeitamente, mais ao executar no eclipse recebo a mensagem de erro:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on token(s), misplaced construct(s)
Syntax error on token ":", invalid (
getTempo cannot be resolved to a variable
Syntax error on token ")", ++ expected
at TestaListadeAulas.main(TestaListadeAulas.java:34)
Como configurar o meu IDE corretamente? A JRE não aponta nada, então suspeito que seja um erro do próprio Eclipse.