今天小編給大家分享的是Java中Lambda函數(shù)語法結(jié)構(gòu)的詳細(xì)介紹,相信大部分人都不太了解Lambda函數(shù)的語法結(jié)構(gòu),閱讀完整文相信大家對Lambda函數(shù)的語法結(jié)構(gòu)有了一定的認(rèn)識。
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有邵武免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、Lambda的函數(shù)的語法結(jié)構(gòu):
(variable)->action
2、語法結(jié)構(gòu)成分解析:
(1)variable:方法的變量名稱,可以有多個(gè)變量,如果只有一個(gè)變量,可以將小括號省略。
(2)action:是方法體,是自己寫的代碼邏輯的部分??梢允且恍写a或者多行代碼,如果只有一行代碼,可以不要花括號,如果是多行代碼,需要用花括號括起來。
(3)-> :這個(gè)符號用于將變量和方法體分割開來。
(4)代碼示例:
public class Demo1 {
//沒有參數(shù)的運(yùn)算
interface NoParamOperation {
double operation();
}
//一個(gè)參數(shù)的運(yùn)算
interface SingleParamOperation {
int operation(int a);
}
//兩個(gè)參數(shù)的運(yùn)算
interface MathOperation {
double operation(double a, double b);
}
public static void main(String[] args) {
//======幾種Lambda表達(dá)式的寫法=============
//得到PI值(沒有參數(shù),直接返回)
NoParamOperation pi = () -> Math.PI;
//得到自然常數(shù) (沒有參數(shù),直接返回,如果有花括號,要寫上顯式的加上return)
NoParamOperation e = () -> {
return Math.E;
};
//求平方(如果參數(shù)是一個(gè),可以省略小括號)
SingleParamOperation square = a -> a * a;
//求立方(可以指定參數(shù)的類型,如果沒有編譯器會(huì)自動(dòng)推算)
SingleParamOperation cubic = (int a) -> a * a * a;
//加法(如果多個(gè)參數(shù),就必須添加上小括號)
MathOperation add = (double a, double b) -> a + b;
//減法(多個(gè)參數(shù),也可以不指定參數(shù)的數(shù)據(jù)類型)
MathOperation sub = (a, b) -> a - b;
//乘法(一行代碼,函數(shù)體上也可以寫上花括號)
MathOperation mult = (double a, double b) -> {
return a * b;
};
//除法(如果函數(shù)體有多行,就必須有花括號)
MathOperation div = (a, b) -> {
if (b != 0) {
return a / b;
} else {
return 0;
}
};
System.out.println("PI的值" + pi.operation());
System.out.println("自然常數(shù)E的值:" + e.operation());
System.out.println("10的平方:" + square.operation(10));
System.out.println("10的立方:" + cubic.operation(10));
System.out.println("20+10:" + add.operation(20, 10));
System.out.println("20-10:" + sub.operation(20, 10));
System.out.println("20*10:" + mult.operation(20, 10));
System.out.println("20/10:" + div.operation(20, 10));
}
}
3、Lambda函數(shù)的簡化表示:
方法引用是Lambda表達(dá)式的一種簡寫,格式為:ObjectRef::methodName。有三種方法引用類型,分別是靜態(tài)方法引用、實(shí)例方法引用、構(gòu)造方法引用。
(1)ObjectRef可以是類名、實(shí)例名。
(2):: 符號是方法引用符號。
(3)#methodName 是引用的方法名。
如果你能讀到這里,恭喜你已經(jīng)對Lambda函數(shù)的語法結(jié)構(gòu)有了從實(shí)踐層面最深刻的體會(huì)了。如果想閱讀更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標(biāo)題:Java中Lambda函數(shù)的語法結(jié)構(gòu)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://muchs.cn/article6/dgcoig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、域名注冊、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計(jì)、企業(yè)建站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容