iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Modern Web

自己開發一個~?系列 第 6

JAVA程式碼~

  • 分享至 

  • xImage
  •  

解釋JAVA程式碼~到六成啦~時間好快
/images/emoticon/emoticon04.gif

今天要說到的是Lambda減少程式碼,但是功能沒有減少,自帶return,
但是{} 結束還是要有;
->操作符號:Lambda Operator
https://openhome.cc/zh-tw/java/lambda/functional-interface/

程式碼

package FunctionalInterface;

public class Lambda01 {
	public static void main(String[] args) {	
		//Lambda 無參數
		System.out.println("\nLambda 無參數");
		Pen p1 = ()-> System.out.println("p1");
		p1.draw();
		
		Pen1 p2 = ()->{
			int price = 85;
			return price;
		};
		System.out.println(p2.draw());
		
		//Lambda 1參數
		System.out.println("\nLambda 1參數");
		Pen2 p22 = x -> {
			x += 100;
			System.out.println(x);
		};
		p22.draw2(56);
		
		Pen21 p221 = (int x)-> x+=100;
		System.out.println(p221.draw2(56));
		
		//Lambda 多參數
		System.out.println("\nLambda 多參數");
		Pen3 p33 = (a,b)->System.out.println(a+b);
		p33.draw3(10, 20);
		
		Pen31 p331 = (int a, int b)-> a+b;
		System.out.println(p331.draw3(10, 20));
	}
}
//--------------------------
@FunctionalInterface
interface Pen{
	void draw();
}
@FunctionalInterface
interface Pen1{
	int draw();
}
//-------------------------
@FunctionalInterface
interface Pen2{
	void draw2(int i);
}
@FunctionalInterface
interface Pen21{
	int draw2(int i);
}
//---------------------
@FunctionalInterface
interface Pen3{
	void draw3(int i,int j);
}
@FunctionalInterface
interface Pen31{
	int draw3(int i,int j);
}

顯示
https://ithelp.ithome.com.tw/upload/images/20231018/20119035K3HUONGDok.png
這段Java程式碼示範了如何使用Lambda表達式(Lambda expressions)來實現不同類型的函數式接口(Functional Interface)。以下是程式碼的解釋:

  1. 定義了幾個不同的函數式介面(Functional Interface),每個介面都有不同數量的參數和返回值類型。

  2. 使用Lambda表達式實現這些介面的方法:

    • Pen 介面具有無參數方法 draw,第一個Lambda示例 p1 實現了這個方法,它只是印出 "p1"。
    • Pen1 介面具有返回整數的方法 draw,第二個Lambda示例 p2 實現了這個方法,計算並返回一個整數值 85。
    • Pen2 介面具有一個整數參數的方法 draw2,Lambda示例 p22 實現了這個方法,將參數增加 100 並印出結果。
    • Pen21 介面也具有一個整數參數的方法 draw2,Lambda示例 p221 實現了這個方法,同樣將參數增加 100,但這次返回結果而不是印出。
    • Pen3 介面具有兩個整數參數的方法 draw3,Lambda示例 p33 實現了這個方法,它印出兩個參數的和。
    • Pen31 介面也具有兩個整數參數的方法 draw3,Lambda示例 p331 實現了這個方法,返回兩個參數的和。
  3. 在每個Lambda表達式中,你可以看到使用箭頭 -> 將參數列表和方法主體分開,並根據介面方法的要求提供實現。

總結來說,這段程式碼展示了如何使用Lambda表達式來實現函數式介面的方法,這種方式更簡潔且易讀,特別適合於處理簡單的函數性任務。

/images/emoticon/emoticon08.gif

謝謝收看/images/emoticon/emoticon41.gif


上一篇
介紹程式碼到一半
下一篇
JAVA程式碼~倒數4天~
系列文
自己開發一個~?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言