Java 8 lambda初試示例詳解
表達式本質(zhì)上是一個匿名方法。讓我們來看下面這個例子:
public int add(int x, int y) {
return x + y;
}
轉(zhuǎn)成λ表達式后是這個樣子:
(int x, int y) -> x + y;
參數(shù)類型也可以省略,Java編譯器會根據(jù)上下文推斷出來:
(x, y) -> x + y; //返回兩數(shù)之和
或者
(x, y) -> { return x + y; } //顯式指明返回值
可見λ表達式有三部分組成:參數(shù)列表,箭頭(->),以及一個表達式或語句塊。
下面這個例子里的λ表達式?jīng)]有參數(shù),也沒有返回值(相當于一個方法接受0個參數(shù),返回void,其實就是Runnable里run方法的一個實現(xiàn)):
() -> { System.out.println("Hello Lambda!"); }
如果只有一個參數(shù)且可以被Java推斷出類型,那么參數(shù)列表的括號也可以省略:
c -> { return c.size(); }
public static void main(String[] args) {
Arrays.asList( "a", "b", "d" ).forEach( e -> {
System.out.print( e +"\n");
} );
System.out.print( "\n--------------------------" );
Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> e1.compareTo( e2 ) );
/**
* 可見λ表達式有三部分組成:參數(shù)列表,箭頭(->),以及一個表達式或語句塊。
* 下面這個例子里的λ表達式?jīng)]有參數(shù),也沒有返回值(相當于一個方法接受0個參數(shù),返回void,其實就是Runnable里run方法的一個實現(xiàn)):
* () -> { System.out.println("Hello Lambda!"); }
*/
Thread t2=new Thread(()->{
System.out.println("This is from an anonymous method (lambda exp).\n");
});
t2.start();
/**
* 迭代LIST
*/
List<String> listStr=new ArrayList<>();
listStr.add("sss");
listStr.add("1111");
listStr.forEach(e->{
if(e.equals("sss")){
System.out.print(e);
}
});
}
以上所述是小編給大家介紹的Java 8 lambda初試,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Java攔截器Interceptor實現(xiàn)原理及代碼示例
本文詳細講解了Java攔截器Interceptor實現(xiàn)原理及代碼示例,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
RestTemplate發(fā)送HTTP?GET請求使用方法詳解
這篇文章主要為大家介紹了關(guān)于RestTemplate發(fā)送HTTP?GET請求的使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家<BR>33+多多進步2022-03-03
Springboot打包為Docker鏡像并部署的實現(xiàn)
這篇文章主要介紹了Springboot打包為Docker鏡像并部署的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Java8新特性O(shè)ptional類處理空值判斷回避空指針異常應(yīng)用
這篇文章主要介紹了Java8新特性O(shè)ptional類處理空值判斷回避空指針異常應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04
SpringBoot集成分頁插件PageHelper的配置和使用過程
這篇文章主要介紹了SpringBoot集成分頁插件PageHelper的配置和使用過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
自定義JmsListenerContainerFactory時,containerFactory字段解讀
這篇文章主要介紹了自定義JmsListenerContainerFactory時,containerFactory字段解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
Mybatis-Plus實體類繼承Model的使用小結(jié)
Mybatis-Plus實體類繼承Model的使用是Mybatis-Plus中的一個重要特性,它允許開發(fā)者通過繼承Model類來快速實現(xiàn)一些通用的功能,本文主要介紹了Mybatis-Plus實體類繼承Model的使用小結(jié),感興趣的可以了解一下2024-07-07

