這篇文章主要講解了“Java lambda表達(dá)式與泛型怎么應(yīng)用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java lambda表達(dá)式與泛型怎么應(yīng)用”吧!
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的景德鎮(zhèn)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
class 類名 <泛型標(biāo)識(shí),泛型標(biāo)識(shí),…>{ private 泛型標(biāo)識(shí)1,變量名;常用的泛型標(biāo)識(shí):T,E,K,V } 里面正常寫法
public class GenericDemo{ //定義數(shù)組 private K[] arr; }
類名<具體的數(shù)據(jù)> 對(duì)象名 = new 類名<具體的數(shù)據(jù)類型>()
jdk1.7之后,后邊的<>可以省略不寫
類名<具體的數(shù)據(jù)> 對(duì)象名 = new 類名<>()
類型參數(shù)化,讓類的定義更加通用
泛型不支持基本類型,因?yàn)樵诰幾g時(shí),基本類型無法轉(zhuǎn)換成Object
泛型類在創(chuàng)建對(duì)象的時(shí)候,如果沒有指定數(shù)據(jù)類型,將按照Object類型來操作
同一泛型類在邏輯上可以看成是多個(gè)不同的類型,但實(shí)際是相同的類型
子類也是泛型,子類和父類的泛型要一致 (例如:連泛型的類型T要一致,寫的內(nèi)容相同),
如果父類沒有指明類型,則父類要按照Object類型處理
public class Childextends Parent { }
子類不是泛型,父類要明確泛型類型,
如果父類沒有指明類型,則父類要按照Object類型處理
泛型接口的語法定義:interface 接口名<泛型標(biāo)識(shí)1,泛型標(biāo)識(shí)2,…>{ 泛型標(biāo)識(shí) 方法名(); … }
實(shí)現(xiàn)類也是泛型,實(shí)現(xiàn)類和接口的泛型要一致,如果接口沒有指明類型,則接口要按照Object類型處理
實(shí)現(xiàn)類不是泛型,接口要明確泛型接口的數(shù)據(jù)類型,如果接口沒有指明類型,則接口按照Object類型處理
面向?qū)ο蟮木幊讨袕?qiáng)調(diào),必須通過對(duì)象的形式去做事情;函數(shù)思想則是盡量忽略對(duì)象的復(fù)雜寫法,“強(qiáng)調(diào)做什么,而不是以什么形式去做”
lambda表達(dá)式就是函數(shù)思想的體現(xiàn)
lambda表達(dá)式就是定義函數(shù)式的簡化寫法,而不是函數(shù)調(diào)用的簡化寫法
三要素:形式參數(shù),箭頭,代碼塊
形如:(形參)->代碼塊
形參如果多個(gè)參數(shù),參數(shù)之間逗號(hào)隔開,如果沒有參數(shù),留空括號(hào),不用留空格
-> 一定的是英文,固定寫法,表示執(zhí)行
代碼塊:具體要做的事情
使用前提:使用接口:接口當(dāng)中有且只有一個(gè)抽象方法
代碼示例:
package com.lambda; public class Lambda { public static void main(String[] args) { //正常寫法 Mythread mythread = new Mythread(); Thread t = new Thread(mythread); t.start(); //匿名內(nèi)部類 new Thread(new Runnable() { @Override public void run() { System.out.println("多線程1就緒了"); } }).start(); //lambda表達(dá)式:創(chuàng)建線程 new Thread(()->{ System.out.println("多線程2就緒了"); }).start(); } } class Mythread implements Runnable{ @Override public void run() { System.out.println("多線程就緒"); } }
感謝各位的閱讀,以上就是“Java lambda表達(dá)式與泛型怎么應(yīng)用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java lambda表達(dá)式與泛型怎么應(yīng)用這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!