我知道箭头的左侧有参数,箭头的右侧是参数所在的函数.但是,我想知道java 8如何映射左侧和右侧并转换为函数.那里发生了什么,我在哪里可以找到这些信息?
当你有一个->javac编译器添加一个静态方法与代码的内容.它还向类添加动态调用方信息,以便JVM可以将lambda实现的接口映射到参数和返回类型.JVM在运行时生成代码以将接口绑定到生成的方法.
与lambdas和匿名类的不同之处在于,隐含变量只需要有效地最终(因为本来可以是最终的)并且复制成员变量,即它不保留对this外部类的引用.
它可以区分Runnable,Callable<void>即使两者都没有参数.有关详细信息,请访问http://vanillajava.blogspot.com/2014/09/lambdas-and-side-effects.html
| 归档时间: |
|
| 查看次数: |
9063 次 |
| 最近记录: |