lambda方法引用 java_java Lambda表达式方法引用详细介绍

方法引用也可以理解成Lambda表达式的快捷写法,它要比Lambda表达式更加的简洁,可读性更高,有很好的重用性,下面就再一起详细的来了解一下吧。

假如,实现比较的简单,复用的地方又少,那么就推荐使用Lambda表达式,反之的话就应该使用方法引用。

1f4eabc73514998fae1b31d465b8c7a1.png这个运算符用于方法引用,这里要注意一下了,并不是调用方法,方法引用虽然没有直接使用Lambda表达式,可是,也和Lambda表达式有关,和函数式接口有关。

下面是方法引用的语法格式:(ObjectRef是类名或者实例名,methodName是相应的方法名)

注意一下,被引用方法的参数列表和返回值类型,必须和函数式接口方法参数列表和方法返回值类型一致。

示例代码:public class LambdaDemo

{

// 静态方法,进行加法运算

// 参数列表要与函数式接口方法calculateInt(int a, int b)兼容

public static int add(int a, int b)

{

return a + b;

}

// 实例方法,进行减法运算

// 参数列表要与函数式接口方法calculateInt(int a, int b)兼容

public int sub(int a, int b)

{

return a - b;

}

}

LambdaDemo类当中,提供了一个静态方法add,一个实例方法sub,这两个方法必须和函数式接口方法参数列表一致,方法返回值类型也要保持一致。public class HelloWorld

{

public static void main(String[] args)

{

int n1 = 10;

int n2 = 5;

// 打印加法计算结果

display(LambdaDemo::add, n1, n2);

LambdaDemo d = new LambdaDemo();

// 打印减法计算结果

display(d::sub, n1, n2);

}

/**

* 打印计算结果

*

* @param calc Lambda表达式

* @param n1   操作数1

* @param n2   操作数2

*/

public static void display(Calculable calc, int n1, int n2)

{

System.out.println(calc.calculateInt(n1, n2));

}

}

注意,代码第18行声明display方法,第一个参数calc是Calculable类型。

它能够接受三种对象:

1、Calculable实现对象;

2、Lambda表达式;

3、方法引用;

代码第6行中第一个实际参数

a7467bc9fba482b41b911df4a0b2cede.png是静态方法的方法引用。

代码第9行中第一个实际参数

2360fe9dc718fe850a1a38aa48eea15f.png是实例方法的方法引用,d是LambdaDemo实例。

注意,

ca593beaf0c45cf76a54659543ca81f4.png

以上的内容你都了解了吗?请多多的关注奇Q工具网吧,更多java入门知识,可以为你分享。

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值