關(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ù)。