Java Lambda表達(dá)式與引用類淺析
Lambda表達(dá)式和方法引用是一對孿生兄弟
而引用類方法是Lambda支持的方法引用中的一種
引用類方法其實就是引用類的靜態(tài)方法
直接上代碼
首先 我們要創(chuàng)建一個包
包下創(chuàng)建一個接口 我這里叫subInterface
參考代碼如下
public interface subInterface { int convelutl(String s); }
可以看到 我們在接口中定義了一個抽象方法 這個方法 接收一個字符串類型的參數(shù) 然后返回一個數(shù)字類型的值
然后在這個包下創(chuàng)建一個測試類 text
參考代碼如下
public class text { public static void main(String[] args) { numberFl((String s)->{ return Integer.parseInt(s); }); } public static void numberFl(subInterface sub){ int min = sub.convelutl("666"); System.out.println(min); } }
這里可以看到 我們在Lambda中編寫 調(diào)用了Integer類中的parseInt方法將字符串轉(zhuǎn)成了數(shù)字類型并返回
運(yùn)行結(jié)果如下
但Lambda的簡化遠(yuǎn)不止如此
我們將測試類的main方法修改如下
public static void main(String[] args) { numberFl(s -> Integer.parseInt(s)); }
首先 他就一個參數(shù) 所以 參數(shù)類型 和 參數(shù)外面的小括號可以省列 然后 他只有一行代碼 所以 return 和 方法外面的大括號可以省列
但這其實 只是 Lambda的簡化 我們類方法的引用還沒開始呢
我們可以將main方法修改如下
public static void main(String[] args) { numberFl(Integer::parseInt); }
因為我們 numberFl 拿到參數(shù) 其實也就是把參數(shù)給了里面的 Integer類的parseInt方法 然后返回 parseInt給出的返回值
這里 直接就接受了方法引用的推導(dǎo)即省列
numberFl的參數(shù) 全部直接給Integer類中的parseInt 然后將 parseInt的返回值返回 這一句話就都包括了
運(yùn)行結(jié)果如下
我們這里 利用了 Lambda 的原則 當(dāng)Lambda被類的靜態(tài)方法引用時 則 Lambda的參數(shù)全部傳給靜態(tài)方法
到此這篇關(guān)于Java Lambda表達(dá)式與引用類淺析的文章就介紹到這了,更多相關(guān)Java Lambda表達(dá)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA 使用mybatis插件Free Mybatis plugin的步驟(推薦)
這篇文章主要介紹了IDEA 使用mybatis插件Free Mybatis plugin的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包(問題分析及解決方案)
這篇文章主要介紹了IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包 的解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08SpringBoot線上環(huán)境徹底關(guān)閉Swagger-UI的方式
這篇文章主要給大家介紹了SpringBoot線上環(huán)境徹底關(guān)閉Swagger-UI的方式,文中給出了詳細(xì)的代碼示例供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12IDEA中request.getParameter爆紅問題及解決
這篇文章主要介紹了IDEA中request.getParameter爆紅問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Java通過PropertyDescriptor反射調(diào)用set和get方法
這篇文章主要為大家詳細(xì)介紹了Java通過PropertyDescriptor反射調(diào)用set和get方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03