java-函式式介面
阿新 • • 發佈:2020-09-21
定義
函式式介面:只有一個方法的介面
//常見的函式式介面
@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")); } }
主要的函式式介面:
- Function<T,R> 傳入一個引數,存在一個返回值。
- Predicate< T > 傳入一個引數,返回一個布林值。
- Consumer< T > 傳入一個引數,沒有返回值。
- Supplier< R > 沒有引數,有一個返回值。