用Lambda表示式來優化簡寫File檔案過濾器

2021-10-08 20:31:30 字數 1856 閱讀 7076

主函式

public

static

void

main

(string[

] args)

實現類

public

static

void

getfilename

(file f1)})

; 簡化後:

file[

] files = f1.

listfiles

((pathname)

->pathname.

isdirectory()

||pathname.

getname()

.tolowercase()

.endswith

(".txt"))

; 方法②

簡化前:

file[

] files = f1.

listfiles

(new

filenamefilter()

}); 簡化後:

/**使用lambda表示式優化匿名內部類(介面中只有乙個抽象方法)*/

file[

] files = f1.

listfiles

((file dir, string name)

->);

file[

] files = f1.

listfiles

((dir,name)

->

newfile

(dir,name)

.isdirectory()

|| name.

tolowercase()

.endswith

(".txt"))

;for

(file file : files)

else

}

.

.filefilter用匿名內部類建立重寫

file[

] arrfile = f1.

listfiles

(new

filefilter()

});

簡化後:

file[

] files = f1.

listfiles

((pathname)

->pathname.

isdirectory()

||pathname.

getname()

.tolowercase()

.endswith

(".txt"))

;

.

.filenamefilter用匿名內部類建立重寫

file[

] files = f1.

listfiles

(new

filenamefilter()

});

簡化後:

file[

] files = f1.

listfiles

((dir,name)

->

newfile

(dir,name)

.isdirectory()

|| name.

tolowercase()

.endswith

(".txt"))

;

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...

Lambda表示式和Lambda表示式樹

原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...

Lambda表示式表示式樹

在c 3.0中,繼匿名方法之後出現了lambda 表示式,使表達更為簡潔 快捷。lambda 表示式使用lambda 運算子 來定義,語法如下 引數列表 lambda 運算子的左邊是輸入引數,定義lambda表示式的接收引數列表,右邊包含表示式或語句塊,表示將表示式的值或語句塊返回的值傳給左邊的引數...