Android-Daily-Interview
Android-Daily-Interview copied to clipboard
2020-01-02:分别通过对象表达式object和lambda表达式实现的函数式接口内部有何不同?
好像没有大致的区别,lambda只支持一个函数体而object可以是多个,还有一个区别就是以闭包的形式实现lambda还可以传递某个方法的作用域
没有感觉有多大区别,或者我没有那么熟悉
写setOnclickLister 和setOnItemClickLisernter就很明显了,lambda适用于一个回调的场景
1.object是匿名内部类的形式,匿名内部类是在编译后形成一个class 2.Lambda表达式是在程序运行的时候动态生成class
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
有区别, 区别很小 如果是使用 Object 继承的话, 会编译为匿名内部类, 和Java的并无区别
但是如果是 使用 lambda 的话, 实现代码会保留在原类中, 编译成的匿名内部类是 一个中转类, 类似于Java8, 也可能是跟我使用的 目标版本是 java8 相关