使用lambda创建匿名函数,分别求两个数中较大的数和较小的数
时间: 2024-10-29 14:21:01 浏览: 22
结合C++11新特性来学习C++中lambda表达式的用法
在Java中,可以使用Lambda表达式(也称为函数式接口的简短表示)来创建匿名函数。Lambda表达式提供了一种简洁的方式来定义单操作的函数,例如比较两个数。这里我们使用`Math.max()`和`Math.min()`函数为例,这两个函数需要两个参数并返回它们的最大值和最小值。
对于找到两个数中的较大数,你可以这样做:
```java
BiFunction<Integer, Integer, Integer> max = (a, b) -> a > b ? a : b;
int largerNum = max.apply(5, 10); // 输出:10
```
这里是`BiFunction`接口的使用,它接受两个输入参数并返回一个结果,`(a, b)`就是传递给函数的两个数字。
对于找到两个数中的较小数,可以类似地创建一个`Comparator`的Lambda表达式:
```java
Comparator<Integer> min = Comparator.comparingInt(a -> a);
int smallerNum = min.compare(5, 10); // 输出:-1,因为5比10小
```
`min.compare(5, 10)`会返回一个负整数,因为5小于10,如果第一个参数大于第二个,则返回正数;相等则返回0。
阅读全文