Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre lambdas

Pelo o que eu entendi o lambda identifica automaticamente a classe ou interface e o método (implementado na mesma) que é necessário ser passado como parâmetro, mas não exige que isso esteja explícito no código, porque, o código abaixo funciona perfeitamente, ele na verdade só se importa se o tipo do retorno (nesse caso "int") é o mesmo do método que ele precisa, é isso?

lista.sort((o1,o2) -> -1);

//Resultado
{saldo=222.0, agencia=22, numero=22, titular=BR.COM.BYTEBANK.BANCO.MODELO.Cliente@7e6cbb7a}
ContaCorrente{saldo=111.0, agencia=22, numero=11, titular=BR.COM.BYTEBANK.BANCO.MODELO.Cliente@7c3df479}
{saldo=444.0, agencia=22, numero=44, titular=BR.COM.BYTEBANK.BANCO.MODELO.Cliente@7eda2dbb}
ContaCorrente{saldo=333.0, agencia=22, numero=33, titular=BR.COM.BYTEBANK.BANCO.MODELO.Cliente@6576fe71}

É claro que não ordenou de forma correta, porque o valor é sempre o mesmo, mas houve ordenação, então, funciona.

3 respostas
solução!

Oi Mateus, Basicamente é isso mesmo que você disse. O compilador consegue identificar sua interface funcional para ser utilizada no lambda.

Obrigado Otávio, vou pesquisar mais sobre interfaces funcionais.

Sem problemas amigo, qualquer dúvida posta ai.

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software