1. 程式人生 > 實用技巧 >java-函式式介面

java-函式式介面

定義

函式式介面:只有一個方法的介面

//常見的函式式介面
@FunctionalInterface
public interface Runnable {
    public abstract void run();
}

簡單使用:

package fun;

import java.util.function.Function;

/**
 * study01
 *
 * @author : xgj
 * @description : de
 * @date : 2020-09-21 15:09
 **/
public class Main {
    public static void main(String[] args) {
        Function<String, Integer> function = new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return Integer.valueOf(s);
            }
        };
        System.out.println(function.apply("123"));
    }
}

精簡為Lambda表示式

package fun;

import java.util.function.Function;

/**
 * study01
 *
 * @author : xgj
 * @description : de
 * @date : 2020-09-21 15:09
 **/
public class Main {
    public static void main(String[] args) {

        Function<String, Integer> function =(s)->{return Integer.valueOf(s);};
        System.out.println(function.apply("123"));
    }
}

再精簡為流式計算

package fun;

import java.util.function.Function;

/**
 * study01
 *
 * @author : xgj
 * @description : de
 * @date : 2020-09-21 15:09
 **/
public class Main {
    public static void main(String[] args) {

        Function<String, Integer> function = Integer::valueOf;
        System.out.println(function.apply("123"));
    }
}

主要的函式式介面:

  1. Function<T,R> 傳入一個引數,存在一個返回值。
  2. Predicate< T > 傳入一個引數,返回一個布林值。
  3. Consumer< T > 傳入一個引數,沒有返回值。
  4. Supplier< R > 沒有引數,有一個返回值。