bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

java中Lambda表達(dá)式的用法

這篇文章將為大家詳細(xì)講解有關(guān)java中Lambda表達(dá)式的用法,文章內(nèi)容質(zhì)量較高,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括大寧網(wǎng)站建設(shè)、大寧網(wǎng)站制作、大寧網(wǎng)頁制作以及大寧網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大寧網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大寧省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

什么是lambda表達(dá)式?

lambda表達(dá)式是一個可傳遞的代碼塊,可以在后面執(zhí)行一次或多次。我們可以將lambda表達(dá)式定義為一種簡潔、可傳遞的匿名函數(shù),先我們需要明確lambda表達(dá)式本質(zhì)上是一個函數(shù),雖然它不屬于某個特定的類,但具備參數(shù)列表、函數(shù)主體、返回類型,以及能夠拋出異常;其次它是匿名的,lambda表達(dá)式?jīng)]有具體的函數(shù)名稱;lambda表達(dá)式可以像參數(shù)一樣進(jìn)行傳遞,從而極大的簡化代碼的編寫。

例如:

class action implements ActionListener{
	@Override
	public void actionPerformed(ActionEvent e){
		System.out.println("now time is"+new Date());
		Toolkit.getDefaultToolkit().beep();
	}

}
public class Main{
	public static void main(String[] args){
		action a=new action();
		Timer timer=new Timer(2000,a);
		timer.start();
		JOptionPane.showMessageDialog(null, "is quit?");
		//這個窗口用于防止main線程執(zhí)行完畢直接結(jié)束
	}

}

這個代碼中action類的a對象實際上只是作為一個代碼段傳給了Timer的構(gòu)造器,因為java是基于面對對象思想的語言,所以沒有函數(shù)調(diào)用,沒有代碼段的傳遞,所以必須把所需代碼封裝在一個類中,上文即action類。有了lambda表達(dá)式之后可以讓代碼更簡潔。

上文用lambda表示如下:

public class Main{
	public static void main(String[] args){
		Timer timer=new Timer(2000,(ActionEvent e)->{
			System.out.println("now the time is"+new Date());
			Toolkit.getDefaultToolkit().beep();
		});
		timer.start();
		//結(jié)束
		
	}

}

用了lambda表達(dá)式是不是代碼可以變得很簡潔,如果e 的類型能通過下文推導(dǎo)得出那么可以省略參數(shù)類型,如果只有一個參數(shù)還可以省略括號,如下:

e->{
System.out.println(“now the time is”+new Date());
Toolkit.getDefaultToolkit().beep();
}

這個lambda表達(dá)式又可以等價于:

ActionListener al=e->{
System.out.println(“now the time is”+new Date());
Toolkit.getDefaultToolkit().beep();
}

然后把a(bǔ)l 扔進(jìn)Timer構(gòu)造器中。

ActionListener 作為一個接口,它只有一個抽象方法,這是作為函數(shù)式接口必須滿足的條件,函數(shù)式接口都能寫成lambda表達(dá)式。

再實現(xiàn)一個String數(shù)組 按照長度排序的代碼,便于理解:

public class Main{
	public static void main(String[] args){
		String[] con=new String[]{"apple","cat","bannane","foot","do"};
		Arrays.sort(con,(str1,str2)->str1.length()-str2.length());
		//第一種實現(xiàn)  這兒因為直接返回值所以沒有加"{"和"}"所以也不用加";" 上下文能推斷出這是String類型參數(shù),
		//所以不用加參數(shù)類型
		Comparator<String> compare = (str1,str2)->s1.length()-s2.length();
		Arrays.sort(con,compare);//第二種實現(xiàn),還可以采用寫一個類實現(xiàn)Comparator中的compare方法
		//如:
		com com1=new com();
		Arrays.sort(con.com1);//其本質(zhì)都是傳遞一段代碼
	}
	class com implements Compartor<String>{
		@Override
		public void compare(String str1,String str2){
			return str1.length()-str2.length();
		}
	}

}

以上就是java中Lambda表達(dá)式的用法,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊,感謝各位的閱讀。

網(wǎng)站欄目:java中Lambda表達(dá)式的用法
本文來源:http://vcdvsql.cn/article4/gjepoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google搜索引擎優(yōu)化關(guān)鍵詞優(yōu)化全網(wǎng)營銷推廣云服務(wù)器網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化