JDK1.8新特性:函数式接口

JDK1.8新特性:函数式接口

1、内建的函数式接口

① Function

  • 表示一个函数(方法),他接受一个单一的参数并返回一个单一的值。
    @Test
    public void testFunction() {
        Function<String, Long> some = (value) -> {
            Long result = Long.parseLong(value);
            return result;
        };
        Long apply = some.apply("Hello");
        System.out.println(apply);
    }

② Predicate

  • 表示一个简单的函数,它只取一个值作为参数,并返回真或假。
   @Test
    public void testPredicate() {
        Predicate<String> some = (value) -> value != null;
        boolean result = some.test("Hello");
        System.out.println(result);
    }

③ UnaryOperator

  • 代表一个操作,它接受一个参数,并返回一个相同类型的参数。
@Test
public void testUnaryOperator() {
    UnaryOperator<User> some = (user) -> {
        user.setAge(18);
        return user;
    };
    User result = some.apply(new User());
    System.out.println(result);
}

④ BinaryOperator

  • 代表一个接受两个参数并返回一个值的操作
@Test
public void testBinaryOperator() {
    BinaryOperator<Integer> some = (age1, age2) -> age1 + age2;
    Integer result = some.apply(1, 1);
    System.out.println(result);
}

⑤ Supplier

  • 代表一个函数,它提供了某种类型的值
@Test
public void testSupplier() {
    Supplier<Integer> some = () -> 1 + 1;
    Integer result = some.get();
    System.out.println(result);
}

⑥ Consumer

  • 代表一个接受一个参数而不返回任何值的函数。
@Test
public void testConsumer() {
    Consumer<String> some = (value) -> System.out.println(value);
    some.accept("hello");
}

2、函数的组合

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值