package com.chunzhi.Test07Function; import java.util.function.Function; /* java.util.function.Function<T, R>:接口用來根據一個類型的數據得到另一個類型的數據, 前者稱為前置條件,后者稱為后置條件。 Function接口中最主要的抽象方法為:R apply(T t),根據類型T的參數獲取類型R的結果。 使用的場景例如:將String類型轉換為Integer類型。 */ public class Test01Function { public static void change(String s, Function<String, Integer> fun) { // Integer in = fun.apply(s); int in = fun.apply(s); // 自動拆箱 Integer -> int System.out.println(in); } public static void main(String[] args) { // 定義一個字符串數組 String s = "123456789"; // 調用change方法,傳遞字符串類型的整數,和Lambda表達式 change(s, (String str) -> { // 把字符串類型的整數,轉換為Integer類型的整數返回 return Integer.parseInt(str); }); // 優化Lambda表達式 change(s, str -> Integer.parseInt(str)); } }