Java8中怎么实现函数入参
一、定义函数
在Java 8中,可以使用lambda表达式来定义函数,lambda表达式有一下几个特点:
1、lambda表达式可以接受参数,参数类型可以显式声明,也可以根据上下文来推断类型;
2、lambda表达式可以包含多条语句,但是必须使用大括号括起来;
3、lambda表达式可以返回一个值,如果lambda表达式中只有一条语句,可以省略大括号和return关键字;
二、函数入参
在Java 8中,函数可以接受多个参数,参数类型可以显式声明,也可以根据上下文来推断类型,比如:
func1 = (Integer x, Integer y) -> x + y;
// 接受两个参数,参数类型根据上下文推断
BiFunction func2 = (x, y) -> x + y;
}
public static void main(String[] args) {
// 接受两个参数,参数类型显式声明
Function
三、参数类型
在Java 8中,函数可以接受多个参数,参数类型可以使用java.util.function包下的函数式接口来定义,比如:
1、Function接口:接受一个参数,返回一个值;
2、BiFunction接口:接受两个参数,返回一个值;
3、Consumer接口:接受一个参数,不返回任何值;
4、BiConsumer接口:接受两个参数,不返回任何值;
以上接口都是接受一个或多个参数,但是不能接受可变参数,如果要接受可变参数,可以使用java.util.function.Supplier接口,比如:
func1 = (Integer... x) -> {
int result = 0;
for (int i = 0; i < x.length; i++) {
result += x[i];
}
return result;
};
// 接受可变参数,参数类型根据上下文推断
IntSupplier func2 = (x) -> {
int result = 0;
for (int i = 0; i < x.length; i++) {
result += x[i];
}
return result;
};
}
public static void main(String[] args) {
// 接受可变参数,参数类型显式声明
Supplier
猜您想看
-
phpcms v9 怎么通过数据库实现会员导入
会员导入是指将...
2023年07月23日 -
如何在Windows上设置鼠标轮滚动方式
SEO软文:如...
2023年05月06日 -
golang刷leetcode 技巧之如何解决交换数字、三步问题
如何解决交换数...
2023年07月21日 -
Hive架构设计及原理的示例分析
Hive是一个...
2023年07月04日 -
ubntu18.04使用virtualbox6.0出错不能启用所有的虚拟机怎么办
1. 安装Vi...
2023年05月25日 -
如何在Steam上找到和播放其他玩家制作的游戏视频?
在Steam上...
2023年05月13日