Olá, Fui fazer o exemplo apresentado no curso e quando vou rodar o código aparece o seguinte erro:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 97
at java.lang.String.charAt(Unknown Source)
at OrdenaString1.lambda$1(OrdenaString1.java:17)
at java.util.Comparator.lambda$comparing$77a9974f$1(Unknown Source)
at java.util.TimSort.countRunAndMakeAscending(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.ArrayList.sort(Unknown Source)
at OrdenaString1.main(OrdenaString1.java:17)
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
class Curso {
private String nome;
private int alunos;
public String getNome() {
return nome;
}
public int getAlunos() {
return alunos;
}
public Curso(String nome, int alunos) {
this.nome = nome;
this.alunos = alunos;
}
}
class ExemploCursos {
public static void main(String[] args) {
List<Curso> cursos = new ArrayList<Curso>();
cursos.add(new Curso("Python", 45));
cursos.add(new Curso("JavaScript", 150));
cursos.add(new Curso("Java 8", 113));
cursos.add(new Curso("C", 55));
cursos.sort(Comparator.comparing(Curso::getAlunos));
cursos.stream()
.filter(c -> c.getAlunos() > 100)
.map(c -> c.getAlunos())
.forEach(x -> System.out.println(x));
}
}
A primeira parte do curso das funções lambda funcionou perfeitamente. Alguma boa alma para me ajudar.
Obrigado.