FunctionalInterface函數(shù)式接口

關(guān)于jdk8的新特性函數(shù)式接口示例以及描述
代碼示例

import java.util.List;

@FunctionalInterface
public interface testjiekou {
    List test(int start, int end);
}


import com.alibaba.fastjson.JSON;

import java.util.Arrays;
import java.util.List;

public class ceshi {
    public static void main(String[] args) {
        shuju((start,end) ->{//重點1  (start,end) 這里只是一個引用
            System.out.println("開始"+start+"--結(jié)束"+end);
            return Arrays.asList("a","b");
        },6,9);

        List<String> list=Arrays.asList("a","b","c","d","e");
        testjiekou zhi=((start, end) -> {//重點4
            System.out.println("開始"+start+"--結(jié)束"+end);
            List list1=list.subList(start,end);
            System.out.println(JSON.toJSONString(list1));
            return list1;
        });
        zhi.test(0,2);//重點2 真正調(diào)用執(zhí)行
        /**重點3  輸出空,詳解:為什么專門加一個這里輸出,很多小伙伴以為上面重點4,是接收返回值,大大的誤解。應(yīng)該好好看看函數(shù)式接口概念。其實只是相當于比如原始的寫法
         * 實現(xiàn)某個接口,在實現(xiàn)方法中寫代碼邏輯。所以重點4只是一個定義,重點2調(diào)用執(zhí)行,千萬不要誤解。可以debug程序,你會發(fā)現(xiàn)其實到重點4并不會進入代碼內(nèi)部,直至運行到重點2,
         * 觸發(fā),然后進入重點4內(nèi)部執(zhí)行代碼*/
        System.out.println(JSON.toJSONString(zhi));

    }
    public static void shuju(testjiekou jiekou,int start, int end){
        jiekou.test(start,end);
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容