您需要 登录 才可以下载或查看,没有账号?立即注册
尽量忽略面向对象的复杂语法,强调做什么,而不是以什么形式去做。
就是函数是思想的体现
组成Lambda表达式的三要素:形式参数,箭头,代码块 () 里面没有内容,可以看成方法形式参数为空 -> 指向要做的事情 {} 要执行的代码
格式:(形式参数) -> {代码块} 形式参数:如果有多个形式参数,参数之间用逗号隔开;如果没有就空着
Lambda表达式的使用前提 有一个接口 接口中有,且只有一个抽象方法 必须有上下文环境,才能推导出Lambda表达式对应的接口
只有一个形式参数时,参数类型可以省略;()也可以省略 参数类型可以省略,但多个参数时,不能只省略某一个 如果{}中只有一条不带return的语句时,句末的分号和{}都可以省略 如果{}中只有一条带return的语句时,句末的分号和{}都可以省 略,return也可以省略
所需类型不同 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类 Lambda表达式:只能是接口 使用限制不同 如果接口中有且只有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类 如果接口中多于一个抽象方法,只能使用匿名内部类,不能使用Lambda表达式 实现原理不同 匿名内部类编译之后,产生一个单独的.class字节码文件 Lambda表达式编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成
使用道具 举报
© 2001-2025 Discuz! Team. Powered by Discuz! X3.5
GMT+8, 2025-7-12 23:49 , Processed in 0.073306 second(s), 28 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图