java8lambda表达式
时间: 2023-07-12 20:04:12 浏览: 142
Java 8引入了Lambda表达式,可以将函数作为参数传递给方法。Lambda表达式使用箭头符号(->)将参数列表与函数体分开,其中箭头左侧是参数列表,箭头右侧是函数体。以下是Lambda表达式的一些示例:
1. 无参数的Lambda表达式:
`() -> System.out.println("Hello World")`
2. 带有一个参数的Lambda表达式:
`(x) -> x * x`
3. 带有多个参数的Lambda表达式:
`(x, y) -> x + y`
Lambda表达式可以与函数式接口一起使用,函数式接口是仅包含一个抽象方法的接口。例如,Java 8中的java.util.function包中提供了一些常用的函数式接口,例如Function、Predicate、Consumer等。以下是Lambda表达式与函数式接口的示例:
1. Function函数式接口与Lambda表达式:
`Function<String, Integer> stringLength = (s) -> s.length();`
2. Predicate函数式接口与Lambda表达式:
`Predicate<Integer> isEven = (n) -> n % 2 == 0;`
3. Consumer函数式接口与Lambda表达式:
`Consumer<String> printString = (s) -> System.out.println(s);`
Lambda表达式的使用可以使代码更加简洁、易读、易维护,是Java 8的一个重要特性。
相关问题
Java 8 lambda 表达式
Lambda 表达式是 Java 8 中引入的一种新的语法,它允许你在不用创建独立函数的情况下直接提供函数式接口的实现。Lambda 表达式的语法格式如下:
```
(parameters) -> expression
或
(parameters) -> { statements; }
```
Lambda 表达式有以下几个部分:
- 参数列表:小括号内的参数列表,参数的类型可以省略,因为编译器可以从上下文中推断出来。如果没有参数,则使用空的小括号。
- 箭头符号:箭头符号 -> 表示这是一个 Lambda 表达式。
- 函数体:在箭头后面的表达式或代码块。如果 Lambda 表达式只有一行,则可以省略大括号。
举个例子,假设你要实现一个函数式接口,该接口只有一个抽象方法,它接受两个整型参数并返回一个整型值,你可以使用 Lambda 表达式来实现这个接口:
```java
IntBinaryOperator add = (x, y) -> x + y;
```
Lambda 表达式的优点在于它可以让代码更简洁,使用起来也更方便。你可以使用 Lambda 表达式来简化常见的模式,例如创建并返回一个匿名内部类的实例。
```java
阅读全文