国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java 8 lambda初試示例詳解

2019-11-26 12:30:53
字體:
來源:轉載
供稿:網友

表達式本質上是一個匿名方法。讓我們來看下面這個例子:

public int add(int x, int y) {  return x + y;}

轉成λ表達式后是這個樣子:

(int x, int y) -> x + y;

參數類型也可以省略,Java編譯器會根據上下文推斷出來:

(x, y) -> x + y; //返回兩數之和

或者

(x, y) -> { return x + y; } //顯式指明返回值

可見λ表達式有三部分組成:參數列表,箭頭(->),以及一個表達式或語句塊。

下面這個例子里的λ表達式沒有參數,也沒有返回值(相當于一個方法接受0個參數,返回void,其實就是Runnable里run方法的一個實現):

() -> { System.out.println("Hello Lambda!"); }

如果只有一個參數且可以被Java推斷出類型,那么參數列表的括號也可以省略:

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 ) );    /**     * 可見λ表達式有三部分組成:參數列表,箭頭(->),以及一個表達式或語句塊。     * 下面這個例子里的λ表達式沒有參數,也沒有返回值(相當于一個方法接受0個參數,返回void,其實就是Runnable里run方法的一個實現):     * () -> { 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初試,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰都县| 嘉善县| 济阳县| 罗源县| 洛川县| 怀集县| 柳江县| 和田市| 光泽县| 柳州市| 禹州市| 双辽市| 普定县| 晋州市| 晴隆县| 射阳县| 义乌市| 盖州市| 通辽市| 尉犁县| 灵宝市| 新津县| 彩票| 砚山县| 通榆县| 义马市| 广水市| 西平县| 新龙县| 克山县| 湖口县| 洞头县| 肥城市| 明水县| 盱眙县| 姚安县| 东丽区| 奉化市| 阜平县| 石柱| 永平县|