国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>java源碼下載>

java 簡潔代碼

大小:0.6 MB 人氣: 2017-09-27 需要積分:1

  函數式編程

  函數式編程將函數作為程序開發人員的核心結構。開發人員可以以一種非常靈活的方式使用函數,例如將其作為參數傳遞。利用Lambda表達式的這種能力,Java可以將函數作為方法的參數,或者將代碼作為數據。Lambda表達式可以看作是一個與任何特定的類都無關的匿名方法。這些理念有著非常豐富多彩并且引人入勝的數學基礎。

  函數式編程和Lambda表達式仍然是比較抽象、深奧的概念。對于開發人員來說,主要關注如何解決實際生產中的任務,對于跟蹤最新的計算趨勢可能并不感興趣。隨著Lambda表達式在Java中的引入,對于開發人員來說對這些新特性的了解至少需要能夠達到可以讀懂其他開發人員所編寫代碼的程度。這些新特性還能帶來實際的好處——可以影響并發系統的設計,使其擁有更優的性能。而本文所關心的是如何利用這些機制編寫簡潔而又清晰的代碼。

  之所以能夠用Lambda表達式生成簡潔的代碼,有如下幾個原因。局部變量的使用量減少,因此聲明和賦值的代碼也隨之減少。循環被方法調用所替代,從而將三行以上的代碼縮減為一行。本來在嵌套循環和條件語句中的代碼現在可以放置于一個單獨的方法中。實現連貫接口,可以將方法以類似于Unix管道的方式鏈接在一起。以函數式的風格編寫代碼的凈效應并不只限于可讀性。此類代碼可以避免狀態維護并且不會產生副作用。這種代碼還能夠產生易于并行化,提高處理效率的額外收益。

  Lambda表達式

  與Lambda表達式相關的語法比較簡單直白,不過又有別于Java之前版本的習語。一個Lambda表達式由三部分組成,參數列表、箭頭和主體。參數列表可以包含也可以不包含括號。此外還新增了由雙冒號組成的相關操作符,可以進一步縮減某些特定的Lambda表達式所需的代碼量。這又稱為方法引用。

  線程創建

  在這個示例中,將會創建并運行一個線程。Lambda表達式出現在賦值操作符的右側,指定了一個空的參數列表,以及當線程運行時寫到標準輸出的簡單的消息輸出。

  Runnable r1= () -》 System .out.print( “Hi!”) ;r1.run()

  java 簡潔代碼

  處理集合

  Lambda表達式的出現會被開發人員注意到的首要位置之一就是與集合API相關。假設我們需要將一個字符串列表根據長度排序。

  java .util.List《String》 l ;l= java .util.Arrays.asList(new String[]{ “aaa”, “b”, “cccc”, “DD”}) ;

  可以創建一個Lambda表達式實現此功能。

  java.util.Collections.sort (l, (s1, s2) -》 newInteger(s1.length())。 compareTo(s2.length())

  這個示例中包含兩個傳遞給Lambda表達式體的參數,以比較這兩個參數的長度。

  java 簡潔代碼

  除此之外還有許多替代方案,在無需使用標準的“for”或“while”循環的前提下,就可以操作列表中的各個元素。通過向集合的“forEach”方法傳入Lambda表達式也可以完成用于比較的語義。這種情況下,只有一個參數傳入,也就無需使用括號。

  l .forEach(e -》 System .out.println(e)) ;

  java 簡潔代碼

  這個特殊的示例還可以通過使用方法引用將包含類和靜態方法分開的方式進一步減少代碼量。每個元素都會按順序傳入println方法。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?