Pesquisa de Funcionário com Arrays

Olá, estou com dificuldade para resolver um problema com java, preciso pesquisar no meu vetor por um objeto da Classe Funcionário com o id recebido como parâmetro, e se não encontrar retornar null.

Uma forma é assim:

for (Funcionario f : funcionarios) {
	if (f.getId().equals(id)) {
		return f;
	}
}

return null;

ou usando lambda:

Funcionario funcionario = funcionarios.stream()
	.filter(f -> f.getId().equals(id))
	.findFirst()
	.orElse(null);
1 curtida

Tentei refazer o processo mas deu erro pelo meu atributo id ser do tipo inteiro:

“Cannot invoke equals(int) on the primitive type int”

Use == em vez de equals.

1 curtida

Muito obrigado!