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);
以上就是小编今天的分享了,希望可以帮助到大家。