电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳細分析Java Lambda表達式

瀏覽:6日期:2022-08-29 08:51:34

在了解Lambda表達式之前我們先來區分一下面向對象的思想和函數式編程思想的區別面向對象的思想:做一件事情,找一個能解決這個事情的對象,調用他的方法來解決函數時編程思想:只要能獲取到結果,誰去做的都不重要,重視的是結果,不重視過程使用Lambda表達式的目的是為了簡化我們的代碼匿名內部類雖然也簡化了我們的代碼,但是Lambda比他更簡單,而且語法也更加少

下面我用一段代碼來演示一下二者的區別

public class Main { public static void main(String[] args) { //匿名內部類的寫法 new Thread(new Runnable() { @Override public void run() {System.out.println('這是匿名內部類'); } }).start(); //Lambda表達式 new Thread(()-> System.out.println('這是Lambda表達式')).start(); }}

結果

詳細分析Java Lambda表達式

我們可以看到Lambda大大的減少了代碼量,因為Lambda關心的是結果并不是過程,省略的東西他都可以自行推導出來

Lambda的標準格式

Lambda省去面向對象的條條框框,格式有三個部分組成一些參數一個箭頭一段代碼(參數類型 參數名稱)——>{代碼語句}小括號內的語法與傳統方法參數列表一致:無參數則留空;多個參數則用逗號分隔。 -> 是新引入的語法格式,代表指向動作。 大括號內的語法與傳統方法體要求基本一致。

下面用兩個案例來演示Lam打表達式

Calculator接口

package Lambda;public interface Calculator { int sum(int a,int b);}

package Lambda;import Rubable.RunableImp;import java.sql.SQLOutput;public class Main { public static void main(String[] args) { sum(10,20,((a, b) -> a+b)); } public static void sum(int a,int b,Calculator calculator){ int sum=calculator.sum(a,b); System.out.println('和為:'+sum); }}

結果

詳細分析Java Lambda表達式

Comparator接口

當一個對象數組需要進行排序的時候Array.sort需要一個Comparator接口來指定排序的規則

package Lambda;import java.util.Arrays;public class Main { public static void main(String[] args) { Student[] studentArray={new Student('張三',18), new Student('李四',8), new Student('王五',55)}; Arrays.sort(studentArray,(one,two)->one.getAge()-two.getAge()); for (Student student : studentArray) { System.out.println(student); } }

package Lambda;public class Student { private String name; private int age; @Override public String toString() { return 'Student{' +'name=’' + name + ’’’ +', age=' + age +’}’; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name, int age) { this.name = name; this.age = age; }}

結果

排序成功

詳細分析Java Lambda表達式

Lambda的省略規則

小括號內參數的類型可以省略; 如果小括號內有且僅有一個參,則小括號可以省略; 如果大括號內有且僅有一個語句,則無論是否有返回值,都可以省略大括號、return關鍵字及語句分號。

Lambda’的使用前提

使用Lambda必須具有接口,且要求接口中有且僅有一個抽象方法。 無論是JDK內置的 Runnable 、 Comparator 接口還是自定義的接口,只有當接口中的抽象方法存在且唯一 時,才可以使用Lambda。 使用Lambda必須具有上下文推斷。 也就是方法的參數或局部變量類型必須為Lambda對應的接口類型,才能使用Lambda作為該接口的實例。

有且只有一個抽象方法的接口,稱為函數式接口

以上就是詳細分析Java Lambda表達式的詳細內容,更多關于Java Lambda表達式的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | POS机官网 - 拉卡拉POS机免费办理|官网在线申请入口 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 广东成考网-广东成人高考网| SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 苏州同创电子有限公司 - 四探针测试仪源头厂家 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 密封无忧网 _ 专业的密封产品行业信息网 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 精密模具加工制造 - 富东懿 | 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 818手游网_提供当下热门APP手游_最新手机游戏下载 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 桐城新闻网—桐城市融媒体中心主办| 瓶盖扭矩仪(扭力值检测)-百科 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 中山东港家具集团-酒店-办公-医养家具定制厂家| 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 百方网-百方电气网,电工电气行业专业的B2B电子商务平台 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 |