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

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

什么是函数式接口

四大函数式接口(重点,必须掌握)_第1张图片

1.函数型接口

四大函数式接口(重点,必须掌握)_第2张图片

package com.kuang.function;

import java.util.function.Function;

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

 

2.断言型接口

四大函数式接口(重点,必须掌握)_第3张图片

package com.kuang.function;

import java.util.function.Predicate;

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

 

3.消费型接口

四大函数式接口(重点,必须掌握)_第4张图片

 

package com.kuang.function;

import java.util.function.Consumer;

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

4.供给型接口

四大函数式接口(重点,必须掌握)_第5张图片

package com.kuang.function;

import java.util.function.Supplier;

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

 

你可能感兴趣的:(JUC,java,开发语言)