Java8新特性 方法引用

Java8新特性 方法引用

import java.util.function.BiPredicate;
import java.util.function.Consumer;
import java.util.function.Function;

public class MethodReferenceTest {
    public static void main(String[] args) {
        // Lambda表达式
        Consumer<String> consumer = (s) -> System.out.println(s);
        consumer.accept("猫和老鼠!");

        // 可以简化为以下方式
        Consumer<String> consumer1 = System.out::println;
        consumer1.accept("方法引用 -> 猪和老鼠!");

        // 类名::静态方法名
        Function<Long, Long> function = Math::abs;
        System.out.println("类名::静态方法名 -> " + function.apply(-55L));

        // 类名::实例方法名
        BiPredicate<String, String> biPredicate = String::equals;
        System.out.println("类名::实例方法名 -> " + biPredicate.test("a", "b"));

        // 引用构造器
        Function<Integer, StringBuffer> function1 = StringBuffer::new;
        StringBuffer buffer = function1.apply(10);
        buffer.append("溜");
        System.out.println("引用构造器 -> "+buffer.length());

        // 引用数组
        Function<Integer, int[]> fun = int[]::new;
        int[] arr = fun.apply(10);
        System.out.println("引用数组 -> "+arr.length);


    }
}

结果

猫和老鼠!
猪和老鼠!
类名::静态方法名 -> 55
类名::实例方法名 -> false
引用构造器 -> 1
引用数组 -> 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值