JDK1 8新特性之Lambda表示式

2021-09-20 13:17:34 字數 1377 閱讀 4053

必須是該介面只有乙個一般方法才能使用

//第三種 lambda方式

//優點: **簡潔、不生產單獨的class檔案

//缺點:限制該介面只能有乙個方法,才能使用lambda方式

//(1)沒有引數時

//**塊只有一句 可以省略大括號

a3.eat();

//(2)帶引數是使用,引數的型別可以省略

ieat1 a4 = (username,password)-> system.out.println("username:"+ username + ",password:"+ password);

a4.eat("admin","123456");

//(3)多句** 大括號不可省略

ieat1 a5 = (username,password)->;

a5.eat("admin1","123");

//(4)帶返回值的

ieat2 a6 = (name)->;

//(5)帶返回值的 只有一行** 不需要寫return 6;直接寫返回值

ieat2 a7 = (name)-> name != null ? 1 : 0 ;

system.out.println(a7.eat("123"));

//(6)帶final修飾 要麼不寫,要麼全寫

//ieat3 a8 = (final string name)-> name != null ? 1 : 0;

ieat3 a8 = (name)-> name != null ? 1 : 0;

} }//只有乙個抽象方法的介面 無引數

inte***ce ieat

//介面的實現

class ieatimple implements ieat

}//有引數

inte***ce ieat1

//帶返回值的

inte***ce ieat2

//引數final修飾

inte***ce ieat3

介面中只有乙個一般方法,不論有幾個預設方法和靜態方法都不影響lembda表示式的影響

jdk 1 8新特性之lambda表示式

概述 jdk1.8新特性,用於簡化匿名內部類語法 專注於做什麼,而不是怎麼做 格式 小括號 引數列表 新語法,代表動作指向 大括號 方法體 樣例 public class test start 使用前提 必須是介面且介面中有且只有乙個抽象方法,小括號裡面的引數列表取決於介面中抽象方法的列表 函式式介...

jdk1 8新特性之Optional

data public class skuvo data public class price有乙個sku物件,裡面包含乙個skuid和乙個price物件,price物件裡面有市場價和成本價。假如現在有個需求,獲取sku裡面的mallprice,並且返回。毫無疑問,npe相信每個程式設計師都不可能沒...

JDK1 8新特性 Lambda表示式

lambda表示式 函式式程式設計思想 物件導向 必須通過物件的形式來做事情.函式式思想 強調做什麼 注重結果 而不是怎麼做.lambda的格式 一些引數 介面中的抽象方法的引數,有就寫上,沒有空著 乙個箭頭 傳遞 把引數傳遞給 中的方法體 一段 重寫介面中的抽象方法的方法體 標準格式 引數型別 引...