É possível criar uma classe dentro de outra? No ExemploCursos eu tentei criar a class Curso dentro da própria class ExemploCursos (posto que ela é usada internamente) mas, o compilador apresentou a seguinte mensagem: No enclosing instance of type ExemploCursos is accessible. Must qualify the allocation with an enclosing instance of type ExemploCursos (e.g. x.new A() where x is an instance of ExemploCursos).
Eis abaixo o texto completo:
package br.com.alura.streams;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class ExemploCursos {
class ClasseInterna {
private String nome;
private Integer alunos;
public ClasseInterna(String nome, Integer alunos) {
super();
this.nome = nome;
this.alunos = alunos;
}
public String getNome() {
return nome;
}
public Integer getAlunos() {
return alunos;
}
}
public static void main(String[] args) {
List<ClasseInterna> cursos =
Arrays.asList(
new ClasseInterna("Python",45),
new ClasseInterna("Javascript", 150),
new ClasseInterna("Java 8", 113),
new ClasseInterna("C", 55)
);
cursos.sort(Comparator.comparing(ClasseInterna::getAlunos));
cursos.forEach(System.out::println);
}
}