匿名内部类和lambda表达式都可以用来实现一个函数接口(Functional Interface)的实例,它们的主要区别如下:
1. 语法形式:匿名内部类是java的一种特性,语法形式比较冗长,需要使用关键字、大括号、分号等,使用起来稍显繁琐。而lambda表达式是从JDK8开始引入的,语法简单,可以看作是对匿名内部类的一种简化和优化。
2. 对上下文变量的捕获:匿名内部类中可以访问外部类的成员变量、方法参数和本地变量,它们的值都可以在匿名内部类中被修改。而lambda表达式中只能捕获最终变量或者是事实上的最终变量(final或者等价于final),也就是只能读取外部变量,不能修改。如果需要修改则使用会报编译错误。
3. 类型推导和函数接口:在使用lambda表达式时,JDK8可以推导出lambda表达式的参数类型和返回类型。因此,使用lambda表达式时不需要显示声明类型。而匿名内部类需要显式地声明接口和类类型。
4. 代码量:lambda表达式的语法更加精简,代码量相对较小,而且可读性更强,降低了程序员的输入疲劳度。而匿名内部类语法冗长,代码量较大。
总之,lambda表达式是一种更为优雅简洁的编程方式,而匿名内部类则依旧存在一定的应用场景,例如需要访问外部类的成员变量,或者需要实现一些非函数接口的抽象方法等。
猜你喜欢
点击排行
联络方式:
电话:173 1266 2225
邮箱:network@z03.net
-
灵魂莲花任务介绍 全部告诉你
1、本次灵魂莲华事件任务为灵魂羁绊任务,活动期间达成所有灵魂羁绊系列基础任务(免费),共可免费赚取300枚绽灵币(2020)。2、玩家在LOL客户端主界面右上方点击灵魂羁绊即可已进入活动。3、进入之后点击左下方的狐狸按钮。进入剧情动画。按空格可进行剧情,也可以点击左侧的全部跳过跳过剧情。4、之后就会解锁其他英雄的灵魂羁绊,随便点击一个英雄头像后,也会出现专属剧情。5、看完剧情后,在出现的提示框内选...
-
钴鉧潭记原文及翻译 钴鉧潭记原文及翻译简介
1、《钴鉧潭记》原文:钻鉧潭,在西山西。其始盖冉水自南奔注,抵山石,屈折东流;其颠委势峻,荡击益暴,啮其涯,故旁广而中深,毕至石乃止;流沫成轮,然后徐行。其清而平者,且十亩。有树环焉,有泉悬焉。其上有居者,以予之亟游也,一旦款门来告曰:“不胜官租、私券之委积,既芟山而更居,愿以潭上田贸财以缓祸。”予乐而如其言。则崇其台,延其槛,行其泉于高者而坠之潭,有声潀然。尤与中秋观月为宜,于以见天之高,气之迥...
-
可乐带鱼的做法教程 可乐带鱼的烹饪方式
1、主料:带鱼1条,可乐250ml。辅料:朝天椒2个,姜1小块,大蒜2瓣。调料:料酒、生抽各15ml,淀粉15g,盐。2、带鱼开膛去掉内脏后清理干净,切成6cm的长段,用少许料酒和盐腌5分钟;姜和大蒜切成片,朝天椒切小段备用。3、锅中倒入适量油,油约6成热后,将带鱼裹一层干淀粉后放入锅中,煎至两面金黄后捞出。4、锅中留少许底油,下姜片、蒜片和辣椒爆香,把煎好的带鱼倒回锅中,倒入料酒、生抽、可乐和少...
-
荠菜煮鸡蛋有什么功效 荠菜煮鸡蛋有何功效
1、可以适当调节血压荠菜中所含的胆碱、乙酰胆碱、季胺化合物都有一定的降血压作用,喝荠菜煮鸡蛋煮出的水有利于血压偏高人群的疾病恢复,当然荠菜煮鸡蛋降血压的作用是有限的,缓解血压偏高的有效办法还是咨询医师并辅助药物。2、可以补充营养荠菜中富含胡萝卜素,荠菜酸等营养物质,而另一个主要食材鸡蛋同样营养丰富,含有蛋白质、钙、磷等成分,是青少年和体弱贫血者理想的滋补食品,用荠菜煮鸡蛋可以有效地为人体补充营养。...
-
美瞳要泡多久才能戴 它戴的时候有什么规定
1、美瞳浸泡6个小时以上的效果会更好,但是也不是所有的美瞳都需要浸泡6个小时以上。2、美瞳和隐形眼镜一样,都是有含水量的,因而镜片的浸泡时间还要依据美瞳的参数。如果含水量和透氧率都比较高的话,浸泡的时间可以稍微短一点。3、含水量:一般含水量越高,佩戴周期越短,比如日抛含水量大于年抛含水量,选择不同抛弃周期的美瞳,就选择了不同的含水量!一般含水量38%就最好。美瞳要泡多久才能戴 它戴的时候有什么规定...