24, JUC: functional interface and predicate interface

Watch the video of the learning process: [Crazy God Says Java]
https://www.bilibili.com/video/BV1B7411L7tE?p=13
Welcome everyone to support Oh, very conscientious teacher!

Insert picture description here
Insert picture description here

1. Function interface

Insert picture description here
java code

package com.function;

import java.util.function.Function;

/**
 * Created by zjl
 * 2020/11/25
 **/

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

        //方式二,使用lambda表达式简化的
        Function<String,String> function1 = (str)->{
    
    return str;};
        System.out.println(function1.apply("def"));
    }

}

Output result:
Insert picture description here

2. Predicate assertion type interface

Insert picture description here

package com.function;

import java.util.function.Predicate;

/**
 * Created by zjl
 * 2020/11/25
 **/
/*** 断定型接口:有一个输入参数,返回值只能是 布尔值! */
public class Demo02 {
    
    
    public static void main(String[] args) {
    
    
        // 方式一
        // 判断字符串是否为空
        Predicate<String> stringPredicate = new Predicate<String>() {
    
    
            @Override
            public boolean test(String str) {
    
    
                return str.isEmpty();
            }
        };
        System.out.println(stringPredicate.test("abc"));

        //方式二  使用lambda表达式简化
        Predicate<String> predicate = (str)->{
    
    return str.isEmpty();};
        System.out.println(predicate.test("bcd"));
    }
}

Output result:
Insert picture description here

Guess you like

Origin blog.csdn.net/qq_41347385/article/details/110132102