概念
/**
* 函式式介面
* * @author zhuhuix
* @date 2020-07-12
*/@functionalinte***ce
public
inte***ce
functioninte***ce
}
函式式程式設計
案例1:使用函式式介面做為引數
/**
* 使用lambda表示式重寫函式式介面中的抽象方法
* * @author zhuhuix
* @date 2020-07-12
*/public
class
functioninte***celambda
public
static
void
main
(string[
] args)
}
案例2:使用函式式介面做為返回值/**
* 函式式程式設計->人員類
* * @author zhuhuix
* @date 2020-07-11
*/public
class
person
public
person
(string name,
int age)
public string getname()
public
void
setname
(string name)
public
intgetage()
public
void
setage
(int age)
@override
public string tostring()
';}}
/** * 函式式程式設計->lambda有引數有返回值例子
* * @author zhuhuix
* @date 2020-07-11
*/public
class
personarrays
;// 通過使用comparator函式式介面進行年齡大小比較實現陣列的排序
arrays.
sort
(personarray, comparator.
comparingint
(person:
:getage));
//遍歷person陣列
for(
int i =
0; i < personarray.length; i++)}
}
/**
* accepts a function that extracts an sort key from a type
* , and returns a that compares by that
* sort key.
** the returned comparator is serializable if the specified function
* is also serializable.
** @param the type of element to be compared
* @param keyextractor the function used to extract the integer sort key
* @return a comparator that compares by an extracted key
* @see #comparing(function)
* @throws nullpointerexception if the argument is null
* @since 1.8
*/public
static
comparator
comparingint
(tointfunction<
?super t> keyextractor)
jdk中常用的函式式介面
supplier介面
@functionalinte***ce
public
inte***ce
supplier
/**
* 函式式程式設計--常用函式式介面
* * @author zhuhuix
* @date 2020-07-11
*/public
class
functioninte***cedemo2
public
static
void
main
(string[
] args)
}
consumer介面@functionalinte***ce
public
inte***ce
consumer
/**
* 函式式程式設計--常用函式式介面
* * @author zhuhuix
* @date 2020-07-11
*/public
class
functioninte***cedemo2
public
static
void
main
(string[
] args)
}
Lambda 表示式 與 函式式介面
lambda 表示式,也可稱為閉包,是乙個匿名函式 語法 parameters 將引數和實現分開 parameters 引數列表。引數型別可省略 只有乙個引數 可省略 引數名稱不允許與外層區域性變數相同。函式的具體實現。只有一行語句 可省略,return不用寫。只能引用標記了 final 的外層區域...
Lambda表示式2 函式式介面
只包含乙個抽象方法的介面,成為函式式介面。可以通過lambda表示式來建立該介面的物件。可以在任意函式式介面使用 functionalinte ce註解,可以檢查其是否是乙個函式式介面。functionalinte ce public inte ce test1 作為引數傳遞的lambda表示式 作...
函式式程式設計 Lambda表示式
1。不包含引數 runnable runnable system.out.println helloworld 只包含乙個引數 actionlistener actionlistener event system.out.println click 主體可以是一段 runnable runnable...