java8方法引用

  1. 方法引用为lambda的另外一种表现形式,其为:若lambda体的内容中已有方法实现了,我们可以对其使用“方法有引用”,其有三种形式:
    1: 对象:实例:方法名
    2: 类::静态方法名
    3:类实例方法名

第一种形式 实例:方法名

@Test
	public void test1(){
		//形式1  对象::实例方法
		
		Consumer<Integer> con = (x) ->System.out.println(x);
		con.accept(100);
		
		Consumer<Integer> con1 = System.out::println;
		con.accept(300);
	}

第二种形式,类::静态方法

@Test
	public void test2(){
		//给int排序
		Comparator<Integer> com = (x, y) -> Integer.compare(x, y);
		int i = com.compare(300, 200);
		System.out.println(i);
		
		
		Comparator<Integer> com2 = Integer::compare;
		int j = com2.compare(300, 400);
		System.out.println(j);
	}

第三种形式:

@Test
	public void test3(){
		//给int排序
		BiPredicate<String, String> bp = (x,y) -> x.equals(y);
		System.out.println(bp.test("aa", "bb"));
		
		//给int排序
		BiPredicate<String, String> bp1 =String::equals;
		System.out.println(bp.test("aa", "aa"));
	}

使用条件:
1: lambda体重调用方法的参数列表与返回值类型,要与函数式接口中抽象方法的函数列表和返回值类型保持一致。
2: 如果使用类::实例方法名则lambda 中方法的参数列表第一参数是实例方法的调用者,第二餐食是实例方法的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值