Les lambdas doivent avoir un type fonctionnel et ne peuvent pas être affectées à des types non fonctionnels comme Object. L'affectation d'une lambda à une variable de type Object entraînera une erreur de compilation. Cependant, l'affectation d'une lambda à une variable d'un type d'interface fonctionnelle, comme Runnable, est correcte. Les lambdas peuvent également être passées directement en tant qu'arguments à des méthodes, et le compilateur inférera le type en fonction du contexte. Le type attendu de l'expression lambda en fonction du contexte est appelé le Type Cible. Le Type Cible permet au compilateur d'inférer le type de l'expression lambda et de reconnaître qu'une même lambda peut représenter différentes interfaces fonctionnelles. Les références de méthode utilisent également le Type Cible pour l'inférence, et la même référence de méthode peut s'adapter à différentes interfaces. La principale différence entre les lambdas et les références de méthode est que les références de méthode rendent l'inférence plus forte car le type est plus explicite. De plus, la conversion entre des interfaces fonctionnelles compatibles est autorisée. Comprendre le Type Cible est essentiel pour travailler avec les lambdas et les références de méthode en Java.
dev.to
Qual é o tipo de uma expressão Lambda?
Create attached notes ...
