W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
lambda表達(dá)式表示函數(shù)接口的實例。
根據(jù)上下文,一個lambda表達(dá)式可以映射到不同的函數(shù)接口類型。
編譯器推斷l(xiāng)ambda表達(dá)式的類型。
在下面的代碼中有兩個函數(shù)接口, Processor
和SecondProcessor
。
Processor
有一個名為 getStringLength
的方法,它接受一個字符串作為參數(shù),并返回 int
。
SecondProcessor
有一個名為 noName
的方法,它接受一個字符串作為參數(shù),并返回一個 int
。
從代碼中,我們可以看到,我們可以為它們分配兩個相同的lambda表達(dá)式。
public class Main { public static void main(String[] argv) { Processor stringProcessor = (String str) -> str.length(); SecondProcessor secondProcessor = (String str) -> str.length(); //stringProcessor = secondProcessor; //compile error String name = "Java Lambda"; int length = stringProcessor.getStringLength(name); System.out.println(length); } } @FunctionalInterface interface Processor { int getStringLength(String str); } @FunctionalInterface interface SecondProcessor { int noName(String str); }
上面的代碼生成以下結(jié)果。
Processor
或 SecondProcessor
稱為目標(biāo)類型。
推斷l(xiāng)ambda表達(dá)式類型的過程稱為目標(biāo)類型。
編譯器使用以下規(guī)則來確定lambda表達(dá)式是否可分配給其目標(biāo)類型:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: