jdk8中的方法与构造函数

1. 概述

以前的方法调用是对象.方法名或类名.方法名,jdk1.8提供了另外一种调用方式::

方法引用是一种更简洁易懂的lambda表达式,操作符是双冒号::,用来直接访问类或者实例已经存在的方法或构造函数。

通过方法的引用,可以将方法的引用赋值给另一个变量

语法:左边是容器(可以使类名,实例名),中间是::,右边是相应的方法名

静态方法,则是ClassName::methodName,例如:Object::equals
实例方法,则是Instance::methodName
构造函数,则是类名::new

2. 实例讲解

public static void main(String[] args) {
    // 使用双冒号来构建静态函数的引用
    Function<String, Integer> func = Integer::parseInt;
    Integer value = func.apply("10");
    System.out.println(value);

    // 使用双冒号来构造非静态函数引入
    String text = "test";
    Function<Integer, String> fun = text::substring;
    String resultStr = fun.apply(1);
    System.out.println(resultStr);

    // 构造函数,引入多个参数
    BiFunction<Integer, String, User> biFun = User::new;
    User user = biFun.apply(1, "name1");
    System.out.println(user);

    // 函数引用也是一种函数式接口,可以将函数引用作为方法的参数
    sayHello(String::toUpperCase, "test");
}

private static void sayHello(Function<String, String> func, String param) {
    String result = func.apply(param);
    System.out.println(result);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值