java lambda 多个参数_Java中的lambda表达式可以有多少个参数?

lambda表达式很简单,包含三个部分,例如参数(方法参数),箭头运算符(->)和表达式(方法主体)。lambda表达式可分为三种类型:无参数lambda表达式,单参数lambda表达式和多参数lambda表达式。

没有参数的Lambda表达式

我们无需创建任何参数lambda表达式,然后以空括号开始表达式。

语法() -> {

//无参数的主体lambda

}

示例(无参数Lambda)import java.util.function.*;

import java.util.Random;

public class LambdaExpression1 {

public static void main(String args[]) {

NumberUtil num = new NumberUtil();

int randVal = num.getRandomValue(

() -> {     // 无参数lambda

Random random = new Random();

return random.nextInt(500);

});

System.out.println("Lambda返回的值是: "+ randVal);

}

private static class NumberUtil {

public int getRandomValue(Supplier supplier) {

return supplier.get();

}

}

}

输出结果Lambda返回的值是: 144

单参数Lambda表达式

我们需要使用单个参数创建lambda表达式,然后使用单个参数的括号开始表达式。(p1) -> {

//单参数lambda的主体

}

示例(单个参数Lambda)import java.util.function.*;

public class LambdaExpression2 {

public static void main(String args[]) {

Validator validator = new Validator();

String city = "Hyderabad";

boolean isValid = validator.isDataValid(city,

(String info) -> {           // 单参数lambda

String regx = "^[a-zA-Z0-9]*$";

return info.matches(regx);

});

System.out.println("lambda返回的值是: "+ isValid);

}

private static class Validator {

public boolean isDataValid(String data, Predicate predicate) {

return predicate.test(data);

}

}

}

输出结果lambda返回的值是: true

具有多个参数的Lambda表达式

我们需要创建具有多个参数的lambda表达式,然后以多个参数的括号开始该表达式。(p1,p2) -> {

//多参数lambda的主体

}

示例(多个参数Lambda)import java.util.function.*;

public class LambdaExpression3 {

public static void main(String args[]) {

Message m = new Message();

m.printStringInteger("Java", 75,

(String str, Integer number) -> {     // 多参数lambda

System.out.println("值为: "+ str + " "+ number);

});

}

private static class Message {

public void printStringInteger(String str, Integer number, BiConsumer biConsumber) {

biConsumber.accept(str, number);

}

}

}

输出结果值为: Java 75

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值