這篇文章主要講解了“Java8中方法引用和構(gòu)造引用的概述和實(shí)例代碼”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java8中方法引用和構(gòu)造引用的概述和實(shí)例代碼”吧!
一、方法引用概述
方法引用是特定Lamda表達(dá)式的一種簡寫,其思路就是能替換Lamda表達(dá)式就直接調(diào)用函數(shù)使用方法名。其語法格式:類名 :: 方法名。
二、3種方法引用
1 指向靜態(tài)方法的引用
語法格式: 靜態(tài)類名(ClassName)::方法名(MethodName)
示例:
// 1 Lamda靜態(tài)方法 @Test public void LamdaSTest(){ String youku1327 = "1327"; Function function = s -> ObjectUtils.allNotNull(youku1327); System.out.println(function.apply(youku1327));// true } // 靜態(tài)方法引用 @Test public void MethodRefTest(){ String youku1327 = "youku1327"; Function function = ObjectUtils::allNotNull; System.out.println(function.apply(youku1327));// true }
2 指向?qū)ο髮?shí)例的方法的引用
語法格式:實(shí)例名稱(instanceName)::方法名稱(MethodName)
這個(gè)對(duì)象指的是非入?yún)⒌耐獠繉?duì)象
示例:
// 2 Lamda表達(dá)式 @Test public void ObjectLamdaTest(){ Car car = new Car("100", "black", "中國", 20); Supplier supplier = ()-> car.getColor(); System.out.println(supplier.get());//black } // 對(duì)象引用 @Test public void ObjectRefTest(){ Car car = new Car("100", "black", "中國", 20); Supplier
3指向?qū)嵗姆椒ㄒ?/p>
語法格式:對(duì)象名稱(ClassName)::方法名稱(Method)這個(gè)對(duì)象指的是入?yún)?duì)象
//3 Lamda表達(dá)式 @Test public void InstanceMethodLamdaTest(){ Car car = new Car("100", "black", "中國", 20); Function
三、構(gòu)造器引用
語法格式:對(duì)象名稱(ClassName)::new
@Test public void constructLamdaTest(){ BiFunction
感謝各位的閱讀,以上就是“Java8中方法引用和構(gòu)造引用的概述和實(shí)例代碼”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java8中方法引用和構(gòu)造引用的概述和實(shí)例代碼這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!