Java后端開發day39--方法引用

請添加圖片描述
(以下內容全部來自上述課程)
在這里插入圖片描述

1.1 含義

把已經有的方法拿過來用,當作函數式接口中抽象方法的方法體。
已經有的方法:可以是Java自己寫的,也可以是第三方的。
請添加圖片描述
示例語句:
::是方法引用符。

//用類名調用已有的方法
Arrays.sort(arr,FunctionDemo1::substraction);

注意點:

  • 引用處必須是函數式接口---->選中使用的方法ctril+B–選中里面的形參顯示@FunctionalInterface√
  • 被引用的方法必須已經存在
  • 被引用方法的形參和返回值需要跟抽象方法保持一致
  • 被引用方法的功能要滿足當前需求

請添加圖片描述

1.2 引用靜態方法

**格式:**類名::靜態方法
范例:Integer::parseInt

list.stream().map(Integer::parseInt).forEach(s->System.out.print(s));

1.3 引用成員方法

格式:對象::成員方法

  1. 其他類:其他類對象::方法名
  2. 本類:this::方法名(靜態方法無this,需要重新創建對象引用)
  3. 父類:super::方法名(引用處不能是靜態方法,上同)

1.4 引用構造方法

格式:類名::new
范例:Student::new
不需要管返回值,只用保持形參就行。

1.5 類名引用成員方法

格式:類名::成員方法
范例:String::substring

方法引用規則(此方法獨有):

  1. 需要有函數式接口
  2. 被引用的方法必須已經存在
  3. 被引用方法的形參,需要跟抽象方法的第二個形參到最后一個形參保持一致,返回值需要保持一致
  4. 被引用方法的功能需要滿足當前的需求

抽象方法形參的詳解:

  1. 第一個參數:表示被引用方法的調用者,決定了可以引用哪些類中的方法。 ---->類名
    在Stream流當中,第一個參數一般表示流里面的每一個數據。
    假設流里面的數據是字符串,那么使用這種方式進行方法引用,只能引用String這個類中的方法。
    就是:拿著流里面的每一個數據,去調用String類中的XXX方法,方法的返回值就是轉換后的結果。
  2. 第二個參數到最后一個參數:跟被引用方法的形參保持一致,如果沒有第二個參數,說明被引用的方法需要是無參的成員方法。

局限性:

  • 不能引用所有類中的成員方法。
  • 是跟抽象方法的第一個參數有關,這個參數是什么類型的,那么就只能引用這個類中的方法。

請添加圖片描述

1.6 引用數組的構造方法

格式:數據類型[]::new
范例:int[]::new

細節:
數組的類型,需要和流中數據的類型保持一致。
請添加圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79029.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79029.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79029.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

目前市面上知名的數據采集器

程序員愛自己動手打造一切,但這樣離錢就會比較遠。 市面上知名的數據采集工具 數據采集工具(也稱為網絡爬蟲或數據抓取工具)在市場上有很多選擇,以下是目前比較知名和廣泛使用的工具分類介紹: 一、開源免費工具 Scra…

TP5兼容達夢國產數據庫

1.首先數據庫安裝,部署時需配置大小寫不敏感 2.安裝PHP達夢擴展,一定要是對應版本(兼容操作系統)的擴展,否則會出現各種報錯。參考官方文檔:https://eco.dameng.com/document/dm/zh-cn/app-dev/php_php_new…

《解鎖圖像“高清密碼”:超分辨率重建之路》

在圖像的世界里,高分辨率意味著更多細節、更清晰的畫面,就像用高清望遠鏡眺望遠方,一切都纖毫畢現。可現實中,我們常被低分辨率圖像困擾,模糊的監控畫面、老舊照片里難以辨認的面容……不過別擔心,圖像超分…

整合 CountVectorizer 和 TfidfVectorizer 繪制詞云圖

本文分別整合 CountVectorizer 和 TfidfVectorizer 繪制詞云圖 ? CountVectorizer CountVectorizer 是 scikit-learn 中用于 文本特征提取 的一個工具,它的主要作用是將一組文本(文本集合)轉換為詞頻向量(Bag-of-Words&#xf…

Linux 用戶管理

用戶管理是 Linux 系統管理中的重要組成部分,它涉及到用戶和用戶組的創建、刪除、修改以及權限分配等操作。以下是關于用戶和用戶組管理的詳細說明: 一、用戶和用戶組的概念 (一)用戶(User) 用戶是系統中…

【HTTP/2和HTTP/3的應用現狀:看不見的革命】

HTTP/2和HTTP/3的應用現狀:看不見的革命 實際上,HTTP/2和HTTP/3已經被眾多著名網站廣泛采用,只是這場革命對普通用戶來說是"無形"的。讓我們揭開這個技術變革的真相。 著名網站的HTTP/2和HTTP/3采用情況 #mermaid-svg-MtfrNDo5DG…

青少年編程與數學 02-018 C++數據結構與算法 16課題、貪心算法

青少年編程與數學 02-018 C數據結構與算法 16課題、貪心算法 一、貪心算法的基本概念定義組成部分 二、貪心算法的工作原理三、貪心算法的優點四、貪心算法的缺點五、貪心算法的應用實例(一)找零問題問題描述:貪心策略:示例代碼&a…

UE5 Set actor Location和 Set World Location 和 Set Relative Location 的區別

在 Unreal Engine 的藍圖里,SetRelativeLocation、SetWorldLocation 和 SetActorLocation 三個節點雖然都能改變物體位置,但作用對象和坐標空間(Coordinate Space)不同: 1. SetActorLocation 作用對象:整個…

VINS-FUSION:跑通手機錄制數據

文章目錄 📚簡介🚀手機錄制數據🚀跑通數據🔧啟動rviz🔧啟動配置🔧播放rosbag🎯跑通結果 📚簡介 利用智能手機的 攝像頭IMU 采集數據,并在 VINS-Fusion(視覺慣…

Spring AI在大模型領域的趨勢場景題深度解析

Spring AI在大模型領域的趨勢場景題深度解析 在互聯網大廠Java求職者的面試中,經常會被問到關于Spring AI在大模型領域的趨勢場景的相關問題。本文通過一個故事場景來展示這些問題的實際解決方案。 第一輪提問 面試官:馬架構,歡迎來到我們…

MySQL數據庫全面詳解:從基礎到高級應用

一、數據存儲概述 在計算機系統中,數據可以存儲在多種形式中: 變量:程序中最基本的數據存儲單元 元組:不可變的序列類型,常用于函數返回多個值 列表:有序可變集合,可存儲不同類型元素 字典&…

Redux和MobX有什么區別

Redux 和 MobX 都是用于 React 應用的全局狀態管理庫,但它們在設計理念、使用方式和適用場景等方面存在明顯的區別,下面為你詳細分析: 1. 設計理念 Redux:基于 Flux 架構,遵循單向數據流和純函數式編程的理念。狀態是…

WPF實現類似Microsoft Visual Studio2022界面效果及動態生成界面技術

WPF實現類似VS2022界面效果及動態生成界面技術 一、實現類似VS2022界面效果 1. 主窗口布局與主題 <!-- MainWindow.xaml --> <Window x:Class"VsStyleApp.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x…

備份服務器,備份服務器數據有哪些方法可以實現?

服務器承載著企業核心業務數據與關鍵應用&#xff0c;數據丟失或業務中斷可能帶來災難性后果。因此&#xff0c;構建一套科學、可靠的服務器數據備份體系至關重要。當前&#xff0c;服務器數據備份方法可根據技術架構、存儲介質及恢復需求進行多維劃分。根據不同場景、預算和技…

前端基礎——5、CSS border屬性與漸變色(詳解與實戰)

前端基礎——5、CSS border屬性與漸變色詳解 CSS border屬性與漸變色&#xff08;詳解與實戰&#xff09;一、border屬性全面解析1. 基礎三屬性2. 復合寫法3. 高級特性附加.border-style詳解使用示例效果&#xff1a; CSS 漸變終極指南&#xff1a;線性漸變與徑向漸變的深度解析…

企業出海降本:如何將應用從 AWS EC2 快速無縫遷移至DigitalOcean Droplet

企業出海已經成為目前最熱門的趨勢。然而不論你是做跨境電商&#xff0c;還是短劇出海&#xff0c;或處于最熱門的AI 賽道&#xff0c;你都需要使用海外的云主機或GPU云服務。海外一線的云服務平臺盡管覆蓋區域廣泛&#xff0c;但是往往費用成本較高。所以降本始終是企業出海關…

解決Spring Boot多模塊自動配置失效問題

前言 在Spring Boot多模塊項目中&#xff0c;模塊間配置不生效是一個復雜但可解決的問題&#xff0c;尤其涉及自動配置類、依賴沖突、條件注解以及IDE配置。 一、問題背景與場景 1.1 場景描述 假設存在兩個模塊&#xff1a; 模塊A&#xff1a;提供通用配置&#xff08;如跨…

WEBSTORM前端 —— 第2章:CSS —— 第4節:盒子模型

目錄 1.畫盒子 2.Pxcook軟件 3.盒子模型——組成 4.盒子模型 ——邊框線 5.盒子模型——內外邊距 6.盒子模型——尺寸計算 7.清除默認樣式 8.盒子模型——元素溢出 9.外邊距問題 ①合并現象 ②塌陷問題 10.行內元素——內外邊距問題 11.盒子模型——圓角 12.盒子…

Kafka和flume整合

需求1&#xff1a;利用flume監控某目錄中新生成的文件&#xff0c;將監控到的變更數據發送給kafka&#xff0c;kafka將收到的數據打印到控制臺&#xff1a; 在flume/conf下添加.conf文件&#xff0c; vi flume-kafka.conf # 定義 Agent 組件 a1.sourcesr1 a1.sinksk1 a1.c…

Idea 如何配合 grep console過濾并分析文件

這里寫自定義目錄標題 [grep console插件]()右擊打開文件目錄&#xff0c;選擇 tail in console 同時可以添加自己的快捷鍵。 ![新的改變](https://i-blog.csdnimg.cn/direct/03423e27cf6c40c5abd2d53982547b61.png) 隨后會在idea的菜單欄中出現tail菜單。這里&#xff0c;接下…