国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JDK8新特性之方法引用【 ::】

這篇具有很好參考價值的文章主要介紹了JDK8新特性之方法引用【 ::】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????Welcome Huihui's Code World ! !????

接下來看看由輝輝所寫的關(guān)于方法引用的相關(guān)操作吧

目錄

????Welcome Huihui's Code World ! !????

一.是什么

二.為什么要用

三.什么時候用

四.怎么用

常見的引用方式


一.是什么

  • ?符號表示: “ ::”
  • 是一種引用運算符,它所在的表達式稱為方法引用?

二.為什么要用?

  • 1.簡化代碼
    • 方法引用可以將復雜的代碼邏輯簡化,讓代碼更加簡潔,達到更高的可讀性和可維護性。代碼變得更加集中,從而減少了重復代碼,更方便管理和修改。
  • 2.提高可讀性
    • 使用方法引用可以提高代碼的可讀性。當我們使用方法引用時,代碼更加簡潔,更加易于理解,降低了代碼的抽象程度,讓代碼讀起來更像自然語言。這有助于加快代碼的開發(fā)和維護速度。
  • 3.方便修改
    • 當需要修改某個方法時,如果代碼中使用了方法引用,我們只需修改引用的那個方法即可,而不必修改其它代碼。這樣使得修改更加方便、快捷,不會影響其它邏輯,降低了出錯的風險。
  • 4.支持lambda表達式
    • 方法引用是使用lambda表達式來表示的。因為lambda表達式是Java 8中引入的新技術(shù),可以實現(xiàn)更加簡單和靈活的代碼編寫。只需要一行代碼,就可以將一個方法作為參數(shù)傳遞給另外一個方法,非常方便。

三.什么時候用

如果lambda表達式所要實現(xiàn)的額方案,已經(jīng)有其他方法存在相同方案,那么則可以使用方法引用

四.怎么用

????????實例:以strem流中的foreach為例

  • JDK8新特性之方法引用【 ::】

常見的引用方式

接口名 ::方法名

類名::靜態(tài)方法

類名::普通方法

類名::new 調(diào)用的構(gòu)造器?? ? ?? ? ? ? ?

示例:

?

?
package com.wh.test;

public class Person {
private int pid;
private String pname;

public Person() {
	// TODO Auto-generated constructor stub
}

public Person(int pid, String pname) {
	super();
	this.pid = pid;
	this.pname = pname;
}



public Person(int pid) {
	super();
	this.pid = pid;
}

public int getPid() {
	return pid;
}

public void setPid(int pid) {
	this.pid = pid;
}

public String getPname() {
	return pname;
}

public void setPname(String pname) {
	this.pname = pname;
}

@Override
public String toString() {
	return "Person [pid=" + pid + ", pname=" + pname + "]";
}

public void show() {
	System.out.println("我是好人????");
}

public void show(String address) {
	System.out.println("我是"+address+"好人????");
}


}

?
package com.wh.test;

import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;

/**
 * 分別使用lambda表達式和方法引用來完成示例
 * 
 * @author W
 *
 */
public class Demo1 {

	public static void main(String[] args) {
		// 無參構(gòu)造
		Supplier<Person> p1 = () -> new Person();
		Supplier<Person> p2 = Person::new;

		// 有參構(gòu)造
		Function<Integer, Person> p3 = pid -> new Person(pid);
		Function<Integer, Person> p4 = Person::new;

		// 類數(shù)組
		Function<Integer, String[]> p5 = len -> new String[len];
		Function<Integer, String[]> p6 = String[]::new;

		// 基本類型數(shù)組
		Function<Integer, int[]> p7 = len -> new int[len];
		Function<Integer, int[]> p8 = int[]::new;

		// 調(diào)用方法【空參】
		Consumer<Person> p9 = p -> p.show();
		Consumer<Person> p10 = Person::show;

	}
}

? ? ? 好啦,今天的分享就到這了,希望能夠幫到你呢!?????? ? ? ? ? ? ????文章來源地址http://www.zghlxwxcb.cn/news/detail-500050.html

到了這里,關(guān)于JDK8新特性之方法引用【 ::】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JDK8到JDK17有哪些吸引人的新特性?

    作者:京東零售?劉一達 2006年之后SUN公司決定將JDK進行開源,從此成立了OpenJDK組織進行JDK代碼管理。任何人都可以獲取該源碼,并通過源碼構(gòu)建一個發(fā)行版發(fā)布到網(wǎng)絡(luò)上。但是需要一個組織審核來確保構(gòu)建的發(fā)行版是有效的, 這個組織就是JCP(Java Community Process)。2009年,SUN公

    2023年04月18日
    瀏覽(31)
  • JDK8新特性(一)集合之 Stream 流式操作

    JDK8新特性(一)集合之 Stream 流式操作

    ?????? 首先我們應(yīng)該知道:Stream流的出現(xiàn),主要是用在集合的操作上。在我們?nèi)粘5墓ぷ髦?,?jīng)常需要對集合中的元素進行相關(guān)操作。諸如:增加、刪除、獲取元素、遍歷。 ??????? 最典型的就是集合遍歷了。接下來我們先舉個例子來看看 JDK8 Stream流式操作出現(xiàn)之前,

    2024年01月23日
    瀏覽(22)
  • JDK8、JDK11、JDK17和JDK21這幾個版本更新的主要特性

    JDK8、JDK11、JDK17和JDK21這幾個版本更新的主要特性

    JDK8 是 Java 的一個重大更新版本,引入了一系列新特性和改進,主要包括: Lambda 表達式: Lambda 表達式允許我們以簡潔、函數(shù)式的方式編寫代碼,使代碼更易于理解和維護。- Stream API : Stream API 提供了一套聲明式處理數(shù)據(jù)的方式,使得對集合和數(shù)組的操作更加直觀和高效。

    2024年04月29日
    瀏覽(23)
  • Java語法理論和面經(jīng)雜疑篇《十一. JDK8新特性》

    Java語法理論和面經(jīng)雜疑篇《十一. JDK8新特性》

    目錄 1. Java版本迭代概述 1.1 發(fā)布特點(小步快跑,快速迭代) 1.2 名詞解釋 1.3 各版本支持時間路線圖 1.4 各版本介紹 1.5 JDK各版本下載鏈接 1.6 如何學習新特性 2. Java8新特性:Lambda表達式 2.1 關(guān)于Java8新特性簡介 2.2 冗余的匿名內(nèi)部類 2.3 好用的lambda表達式 2.4 Lambda 及其使用舉例

    2023年04月22日
    瀏覽(13)
  • JDK8 新特性 Stream API 進階 (結(jié)合案例詳解--通透--講清)

    JDK8 新特性 Stream API 進階 (結(jié)合案例詳解--通透--講清)

    ??我親愛的各位大佬們好?????? ?? 本篇文章記錄的為 JDK8 新特性 Stream API 進階 相關(guān)內(nèi)容,適合在學Java的小白,幫助新手快速上手,也適合復習中,面試中的大佬??????。 ?? 如果文章有什么需要改進的地方還請大佬不吝賜教?????? ????? 個人主頁 : 阿千弟 ??

    2024年02月06日
    瀏覽(20)
  • Java—JDK8新特性—Lambda表達式【內(nèi)含思維導圖】

    Java—JDK8新特性—Lambda表達式【內(nèi)含思維導圖】

    目錄 JDK8新特性 2.Lambda表達式 思維導圖 2.1?什么是Lambda表達式 2.2 為什么使用Lamdba表達式 2.3 Lambda表達式基本語法 2.4 類型推斷 2.5 Lambda練習 2.6 Lambda常用場景 ????????官網(wǎng)提供網(wǎng)址:JDK 8 Features ????????Lamdba是一個 匿名函數(shù) ,可以把Lamdba表達式理解為是一段可以傳遞的

    2024年02月03日
    瀏覽(27)
  • JDK8-JDK17中的新特性(var類型推斷、模式匹配、Record、密封類)

    JDK8-JDK17中的新特性(var類型推斷、模式匹配、Record、密封類)

    新的語法結(jié)構(gòu),勾勒出了 Java 語法進化的一個趨勢,將開發(fā)者從 復雜、繁瑣 的低層次抽象中逐漸解放出來,以更高層次、更優(yōu)雅的抽象,既 降低代碼量 ,又避免意外編程錯誤的出現(xiàn),進而提高代碼質(zhì)量和開發(fā)效率。 1.1 Java的REPL工具: jShell命令 JDK9的新特性 Java 終于擁有了

    2024年02月06日
    瀏覽(26)
  • 【從零開始學Java第64期】JDK8 關(guān)于日期時間的新特性

    【從零開始學Java第64期】JDK8 關(guān)于日期時間的新特性

    本系列為:從零開始學Java,為千鋒教育資深Java教學老師獨家創(chuàng)作 致力于為大家講解清晰Java相關(guān)知識點,含有豐富的代碼案例及講解。如果感覺對大家有幫助的話,可以【點個關(guān)注】持續(xù)追更~ 有技術(shù)類問題,也歡迎大家和我們交流討論! 在上一篇文章中本系列內(nèi)容給大家講

    2024年02月07日
    瀏覽(22)
  • JDK8 中Arrays.sort() 排序方法解讀

    JDK8 中Arrays.sort() 排序方法解讀

    一、引言 在刷算法的時候經(jīng)常需要對 數(shù)組 進行排序,第一反應(yīng)就是直接使用java.util包下的Arrays.sort()方法直接排序。但在刷算法時會通過 時間復雜度 和 空間復雜度 對實現(xiàn)的算法進行評價,因此我們需對Arrays.sort()方法有所了解。 本文先行介紹Arrays.sort()中影響排序方式的幾

    2024年02月02日
    瀏覽(33)
  • Ubuntu之a(chǎn)pt-get系列--安裝JDK8--方法/教程

    Ubuntu之a(chǎn)pt-get系列--安裝JDK8--方法/教程

    原文網(wǎng)址:Ubuntu之a(chǎn)pt-get--安裝JDK8--方法/教程_IT利刃出鞘的博客 本文介紹如何在Ubuntu下安裝JDK8。 可以通過如下命令判斷系統(tǒng)是否已安裝jdk: 命令 結(jié)果 如上所示,表示還沒有安裝。 結(jié)果: 本處我安裝openjdk-8-jdk 可以通過apt安裝,命令如下: 命令 結(jié)果 如上則表示安裝成功,

    2024年02月10日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包