本文主要是介绍【退役之重学Java】关于lambda表达式和函数式接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用 lambda 表达式为作为实参,传递给形参,形参为函数式接口,此lambda表达式没有指定类型,如何能匹配函数式接口的形参类型呢?
函数式接口作为参数,实参可以直接用lambda表达式吗,是什么原理
- 函数式接口作为参数时,可以直接使用lambda表达式作为实参。
- 这是因为函数式接口是只包含一个抽象方法的接口,lambda表达式可以被赋值给这个抽象方法,从而实现了函数式接口的实例化。
lambda表达式是何如知道参数类型的
-
lambda表达式是通过上下文推断参数类型的。
-
在Java中,这种推断称为"目标类型推断"。
-
当lambda表达式作为函数式接口的实例传递时,编译器会根据函数式接口的抽象方法的参数类型来推断lambda表达式的参数类型。
-
这种推断是由编译器在编译时完成的,因此在代码中并没有显式指定参数类型,但编译器会根据上下文自动推断出参数类型。
这篇关于【退役之重学Java】关于lambda表达式和函数式接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!