四大函数式接口(重点,必须掌握)

新时代程序员必须要会的 :lambda表达式、链式编程、函数式接口、Stream流式计算

什么是函数式接口

1.函数型接口

package com.kuang.function;

import java.util.function.Function;

/**
 * Function函数型接口  有一个输入参数,有一个输出
 * 只要是函数式接口,就可以用lambda表达式简化
 */
public class Demo01 {
    public static void main(String[] args) {
//        Function<Integer,String> function = new Function<Integer,String>() {
//            @Override
//            public String apply(Integer i) {
//                return String.valueOf(i);
//            }
//        };
        Function<Integer,String> function = i -> String.valueOf(i);
        System.out.println(function.apply(5));
    }
}

 

2.断言型接口

package com.kuang.function;

import java.util.function.Predicate;

/**
 * Predicate断言式接口  有一个输入参数,返回boolean值
 * 只要是函数式接口,就可以用lambda表达式简化
 */
public class Demo02 {
    public static void main(String[] args) {
//        Predicate<Integer> predicate = new Predicate<Integer>() {
//            @Override
//            public boolean test(Integer integer) {
//                if (integer > 5) {
//                    return true;
//                }
//                return false;
//            }
//        };
        Predicate<Integer> predicate = integer -> {
            if (integer > 5) {
                return true;
            }
            return false;
        };
        System.out.println(predicate.test(6));
    }
}

 

3.消费型接口

 

package com.kuang.function;

import java.util.function.Consumer;

/**
 * Consumer消费型接口  有一个输入参数,无返回值
 * 只要是函数式接口,就可以用lambda表达式简化
 */
public class Demo03 {
    public static void main(String[] args) {
//        Consumer<String> consumer = new Consumer<String>() {
//            @Override
//            public void accept(String s) {
//                System.out.println(s);
//            }
//        };
        Consumer<String> consumer = s -> System.out.println(s);
        consumer.accept("我好帅");
    }
}

4.供给型接口

package com.kuang.function;

import java.util.function.Supplier;

/**
 * Supplier供给型接口  无参数,有返回值
 * 只要是函数式接口,就可以用lambda表达式简化
 */
public class Demo04 {
    public static void main(String[] args) {
//        Supplier<String> supplier = new Supplier() {
//            @Override
//            public String get() {
//                return "good study";
//            }
//        };
        Supplier<String> supplier =  () -> "good study";
        System.out.println(supplier.get());
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值