Java8的Function函式式介面

2021-08-28 12:55:53 字數 1403 閱讀 9171

原始碼

@functionalinte***ce

public

inte***ce

function

default

function

andthen

(function<

?super r,

?extends

v> after)

static

function

identity()

}

就是lambda中需要自己實現的抽象方法

栗子:

function

function1 = x -

> x *2;

system.out.

println

(function1.(10

));

輸出的結果是20

為了突出t和r,另乙個栗子

function

function3 = x -

> x *2+

" string "

; system.out.

println

(function3.(10

));

輸出的結果是20 string

function

function1 = x -

> x *2;

system.out.

println

(function1.(10

)); function

function3 = x -

> x *2+

" string "

; system.out.

println

(function3.(10

));//這裡把function1和function3 合起來了

system.out.

println

(function3.

compose

(function1).(

10));

輸出結果是

2020 string

40 string

很明顯,首先執行了compose裡面的function1,然後再執行的function3。

function

function4=function.

identity()

; system.out.

println

(function4.(10

));

輸出 10

說實話不知道這有啥用。。。

java8總結(未完)

1.lambda表示式與functional介面 lambda表示式 閉包 允許把函式作為乙個方法的引數 乙個lambda由逗號分隔的引數列表 符號與函式體表示 arrays.aslist a b c foreach e system.out.println e 引數e的型別是由編譯器推測出來的,同...

JAVA 8 多執行緒

方法1實現runnable介面 方法2實現thread介面 public class createthread implements runnable 匿名類 沒有建構函式 class a public static void main string args a c new k k是抽象的介面,呼...

Java8增強的Map集合

map用於儲存具有對映關係的資料,因為map集合中儲存著兩組值,一組值用於儲存map裡的key,另外一組值用於儲存map裡的value,key和value都可以是任何引用型別的資料。map裡的key不允許重複,即同乙個map物件的任何兩個key通過equals方法比較總是返回false。key和va...