Olá, tudo bom? É o seguinte: o professor Nico ao implementar o método existeUsuario na classe Banco fez o seguinte código
for (Usuario usuario : usuarios) {
if(usuario.ehIgual(login, senha))
return usuario;
}
return null;
Eu como estou tentando aplicar o stream pra fixar em quase tudo relacionado a lista fiz o seguinte:
Usuario usuario = Banco.usuarios.stream().filter(user->user.ehIgual(login, senha)).findFirst().get();
if(usuario!=null) {return usuario;}
return null;
Mas quando eu fui testar e inseri dados incorretos ele deu um erro do tipo 500 e uma exception NoSuchElementException. Pelo que eu entendi era algo relacionado ao get(). Quando coloquei um try-catch ele funcionou normalmente de novo.
Minhas dúvidas são: Porque isso ocorreu? É certo aplicar o stream em todos os casos envolvendo coleções?