Java Lambda表达式
Java 8引入了Lambda表达式,它是一种函数式编程的风格,用于简化编写匿名函数和内部类的代码。
Lambda表达式的语法如下:
(parameter_list) -> {expression}
其中,parameter_list是参数列表,可以是空的,或者包含一个或多个参数。 ->表示参数列表与表达式之间的分隔符。expression是Lambda表达式的主体,可以是一个表达式或一个代码块。
Lambda表达式可以被赋值给一个函数接口(functional interface),函数接口是一个只有一个抽象方法的接口。Lambda表达式的类型必须与函数接口的抽象方法的参数和返回值类型兼容。
以下是几个例子:
1. 无参数的Lambda表达式
() -> { System.out.println("Hello, Lambda!"); }
- 带参数的Lambda表达式
(x, y) -> { System.out.println(x + y); }
- 带返回值的Lambda表达式
(x, y) -> x + y
Lambda表达式可以作为参数传递给方法,或者赋值给一个变量。
Lambda表达式可以与Java集合框架一起使用,方便进行遍历和筛选操作。例如,可以使用stream()方法和Lambda表达式来遍历集合并对元素进行操作。
Lambda表达式使得Java代码可以更加简洁和易读,尤其是在函数式编程风格的代码中,能够避免编写繁琐的匿名内部类。