關(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) ->{//重點(diǎn)1 (start,end) 這里只是一個(gè)引用
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) -> {//重點(diǎn)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);//重點(diǎn)2 真正調(diào)用執(zhí)行
/**重點(diǎn)3 輸出空抬闷,詳解:為什么專門加一個(gè)這里輸出骤肛,很多小伙伴以為上面重點(diǎn)4还惠,是接收返回值鸿摇,大大的誤解。應(yīng)該好好看看函數(shù)式接口概念破婆。其實(shí)只是相當(dāng)于比如原始的寫法
* 實(shí)現(xiàn)某個(gè)接口匈挖,在實(shí)現(xiàn)方法中寫代碼邏輯。所以重點(diǎn)4只是一個(gè)定義曹阔,重點(diǎn)2調(diào)用執(zhí)行,千萬不要誤解隔披≡叻荩可以debug程序,你會(huì)發(fā)現(xiàn)其實(shí)到重點(diǎn)4并不會(huì)進(jìn)入代碼內(nèi)部奢米,直至運(yùn)行到重點(diǎn)2抓韩,
* 觸發(fā),然后進(jìn)入重點(diǎn)4內(nèi)部執(zhí)行代碼*/
System.out.println(JSON.toJSONString(zhi));
}
public static void shuju(testjiekou jiekou,int start, int end){
jiekou.test(start,end);
}
}