您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java lambda表達式與泛型怎么應用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java lambda表達式與泛型怎么應用”吧!
class 類名 <泛型標識,泛型標識,…>{ private 泛型標識1,變量名;常用的泛型標識:T,E,K,V } 里面正常寫法
public class GenericDemo<K> { //定義數組 private K[] arr; }
類名<具體的數據> 對象名 = new 類名<具體的數據類型>()
jdk1.7之后,后邊的<>可以省略不寫
類名<具體的數據> 對象名 = new 類名<>()
類型參數化,讓類的定義更加通用
泛型不支持基本類型,因為在編譯時,基本類型無法轉換成Object
泛型類在創建對象的時候,如果沒有指定數據類型,將按照Object類型來操作
同一泛型類在邏輯上可以看成是多個不同的類型,但實際是相同的類型
子類也是泛型,子類和父類的泛型要一致 (例如:連泛型的類型T要一致,寫的內容相同),
如果父類沒有指明類型,則父類要按照Object類型處理
public class Child<T> extends Parent<T> { }
子類不是泛型,父類要明確泛型類型,
如果父類沒有指明類型,則父類要按照Object類型處理
泛型接口的語法定義:interface 接口名<泛型標識1,泛型標識2,…>{ 泛型標識 方法名(); … }
實現類也是泛型,實現類和接口的泛型要一致,如果接口沒有指明類型,則接口要按照Object類型處理
實現類不是泛型,接口要明確泛型接口的數據類型,如果接口沒有指明類型,則接口按照Object類型處理
面向對象的編程中強調,必須通過對象的形式去做事情;函數思想則是盡量忽略對象的復雜寫法,“強調做什么,而不是以什么形式去做”
lambda表達式就是函數思想的體現
lambda表達式就是定義函數式的簡化寫法,而不是函數調用的簡化寫法
三要素:形式參數,箭頭,代碼塊
形如:(形參)->代碼塊
形參如果多個參數,參數之間逗號隔開,如果沒有參數,留空括號,不用留空格
-> 一定的是英文,固定寫法,表示執行
代碼塊:具體要做的事情
使用前提:使用接口:接口當中有且只有一個抽象方法
代碼示例:
package com.lambda; public class Lambda { public static void main(String[] args) { //正常寫法 Mythread mythread = new Mythread(); Thread t = new Thread(mythread); t.start(); //匿名內部類 new Thread(new Runnable() { @Override public void run() { System.out.println("多線程1就緒了"); } }).start(); //lambda表達式:創建線程 new Thread(()->{ System.out.println("多線程2就緒了"); }).start(); } } class Mythread implements Runnable{ @Override public void run() { System.out.println("多線程就緒"); } }
感謝各位的閱讀,以上就是“Java lambda表達式與泛型怎么應用”的內容了,經過本文的學習后,相信大家對Java lambda表達式與泛型怎么應用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。