lamada java
- IT科技
- 關注:9.66K次
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java lamada是什麼,讓我們一起了解一下?
lambda是通過表示式來代替功能介面,lambda表示式就和方法一樣,提供了一個正常的引數列表和一個使用這些引數的主體,增強了集合庫,在Lambda表示式中this是指外圍例項,而匿名類中的this是指匿名類例項。
Lambda表示式的語法是什麼?
// 1. 不需要引數,返回值為 5 () -> 5 // 2. 接收一個引數(數字型別),返回其2倍的值 x -> 2 * x // 3. 接受2個引數(數字),並返回他們的差值 (x, y) -> x – y // 4. 接收2個int型整數,返回他們的和 (int x, int y) -> x + y // 5. 接受一個 string 物件,並在控制檯列印,不返回任何值(看起來像是返回void) (String s) -> System.out.print(s)
我們已經知道什麼是lambda表示式,那假設有一個玩家List,程式設計師可以使用 for 語句 ("for 迴圈")來遍歷,在Java SE 8中是不是可以轉換為另一種形式?
具體程式碼如下:
String[] atp = {"Rafael Nadal", "Novak Djokovic", "Stanislas Wawrinka", "David Ferrer","Roger Federer", "Andy Murray","Tomas Berdych", "Juan Martin Del Potro"}; List players = Arrays.asList(atp); // 以前的迴圈方式 for (String player : players) { System.out.print(player + "; "); } // 使用 lambda 表示式以及函式操作(functional operation) players.forEach((player) -> System.out.print(player + "; ")); // 在 Java 8 中使用雙冒號操作符(double colon operator) 此現象較靜態引用。players.forEach(System.out::println);
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/vlv3r0.html