🌊 作者主頁:海擁
🌊 作者簡介:🏆CSDN全堆疊領域優質創作者、🥇HDZ核心組成員、🥈蟬聯C站周榜前十
🌊 粉絲福利:粉絲群 每周送四本書,每月送各種小禮品(搪瓷杯、抱枕、滑鼠墊、馬克杯等)
直接跳到末尾 去評論區領書
這篇文章我們將討論關于Java 中的 Lambda 運算式,Lambda 運算式是 Java 涉足函式式編程的程序,它接受引數并將其應用于運算式或代碼塊,以下是語法的基本示例:
(parameter1, parameter2) => expression
或者
(parameter1, parameter2) => {code block}
Lambda 運算式非常有限,如果它不是 void,則必須立即回傳一個值,他們不能使用諸如 if 或 for 之類的關鍵字來保持簡單性,如果需要更多行代碼,則可以改用代碼塊,
現在在實作 lambda 運算式時,不能只使用運算式,Lambda 是函式式介面的實作,函式式介面是只有一個抽象方法的介面,lambda 的好處是它們允許你實作方法而無需實作介面的類和實體化物件,下面是一個例子:
interface FuncInterface
{
// 抽象函式
void abstractFun(int x);
// 非抽象(或默認)函式
default void normalFun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String args[])
{
// 實作上述功能介面的 lambda 運算式,
// 該介面默認實作 abstractFun()
FuncInterface fobj = (int x)->System.out.println(2*x);
// 這會呼叫上面的 lambda 運算式并列印 10,
fobj.abstractFun(5);
}
}
Lambda 運算式通常用作函式的引數,為了提高可讀性,你還可以將 lambda 運算式存盤在變數中,只要該型別是一個只有一個方法、相同數量的引數和相同回傳型別的介面,
import java.util.ArrayList;
import java.util.function.Consumer;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(9);
numbers.add(8);
numbers.add(1);
Consumer<Integer> method = (n) -> { System.out.println(n); };
numbers.forEach( method );
}
}
lambda 的一個常見用途是創建執行緒,這是一個使用 lambda 代碼塊實作 Runnable 物件的示例,供執行緒執行,
// 可運行的 Lambda
Runnable task2 = () -> { System.out.println("Task #2 is running"); };
// 啟動執行緒
new Thread(task2).start();
作為初學者,我們大多數人都被教導使用 OOP 概念進行編程,因此使用不同的范式(如函式式編程)可能會有些別扭,我自己仍在學習這些概念中,不管怎樣我希望這篇文章能讓大家學到一些東西,如果你有更多問題或想深入研究該主題,歡迎評論或者查看下方的資料,我提取的代碼示例也來自那里,
參考資料:
https://www.w3schools.com/java/java_lambda.asp
https://www.codejava.net/java-core/the-java-language/java-8-lambda-runnable-example
https://www.geeksforgeeks.org/lambda-expressions-java-8/
https://www.developer.com/microsoft/start-using-java-lambda-expressions/
🥇 評論區抽粉絲送書啦
💌 歡迎大家在評論區提出意見和建議! (抽兩位幸運兒送書,實物圖如下)💌

《億級流量Java高并發與網路編程實戰》
【內容簡介】
《億級流量Java高并發與網路編程實戰》系統全面的介紹了開發人員必學的知識,如JVM、網路編程、NIO等知識,讓開發人員系統地掌握JAVA高并發與網路編程知識,《億級流量Java高并發與網路編程實戰》分為10章,內容如下,第1章,主要講高并發相關JVM原理決議;第2章,主要講 Java 網路編程;第3章,主要講 Java NIO;第4章,主要講并發框架Disruptor;
第5章,主要講微服務構建框架Spring Boot;第6章,主要講微服務治理框架Spring Cloud/Dubbo;第7章,主要講 Java高并發網路編程框架Netty - 實戰應用;第8章,主要講 Java高并發網路編程框架Netty - 深度解讀;第9章,主要講海量資料的高并發處理;第10章,主要講基于高并發與網路編程的大型互聯網專案實戰,本書主要面向面向零基礎及入門級讀者,Java從業人員,
也有不想靠抽,想自己買的同學可以參考下面的鏈接
京東自營購買鏈接:
《億級流量Java高并發與網路編程實戰》- 京東圖書
當當自營購買鏈接:
《億級流量Java高并發與網路編程實戰》- 當當圖書
📣 注意:
大家點贊關注,三天后也就是 11月14日 從評論區留言的同學中抽取兩位送書
🌊 面試題庫:Java、Python、前端核心知識點大全和面試真題資料
🌊 電子圖書:圖靈程式叢書 300本、機械工業出版社6000冊免費正版圖書
🌊 辦公用品:精品PPT模板幾千套,簡歷模板一千多套
🌊 學習資料:2300套PHP建站原始碼,微信小程式入門資料
如果中獎了聯系不上則視為放棄,可以從下方公眾號里找到作者的聯系方式,每周都會送四本書,后面送書力度還會加大,一年送幾百上千本不是問題,回復【進群】領書不迷路,群內 每位成員 我都會送一本,回復【資源】可獲取上面的資料👇🏻👇🏻👇🏻
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/356106.html
標籤:java
