Java8函數(shù)式接口UnaryOperator用法示例
Java 8函數(shù)式接口UnaryOperator<T>
UnaryOperator<T> 是 Java 8 中的一個(gè)函數(shù)式接口,是 Function<T, T> 的子接口。它表示接受一個(gè)輸入?yún)?shù)和返回值都是相同類(lèi)型 T 的操作。
UnaryOperator<T> 接口用法示例
import java.util.function.UnaryOperator; public class UnaryOperatorExample { public static void main(String[] args) { // 示例1:對(duì)整數(shù)進(jìn)行平方運(yùn)算 UnaryOperator<Integer> square = num -> num * num; int result = square.apply(5); System.out.println(result); // 輸出: 25 // 示例2:添加感嘆號(hào)到字符串末尾 UnaryOperator<String> addExclamation = str -> str + "!"; String text = addExclamation.apply("Hello"); System.out.println(text); // 輸出: Hello! // 示例3:組合多個(gè)函數(shù) UnaryOperator<Integer> incrementAndSquare = num -> num + 1; incrementAndSquare = incrementAndSquare.andThen(square); result = incrementAndSquare.apply(5); System.out.println(result); // 輸出: 36 } }
在示例1中,我們創(chuàng)建了一個(gè) UnaryOperator<Integer> 對(duì)象 square,用于對(duì)整數(shù)進(jìn)行平方運(yùn)算。通過(guò)調(diào)用 apply 方法,并將數(shù)字 5 作為參數(shù)傳入,我們可以得到結(jié)果 25。
在示例2中,我們創(chuàng)建了一個(gè) UnaryOperator<String> 對(duì)象 addExclamation,用于在字符串末尾添加感嘆號(hào)。通過(guò)調(diào)用 apply 方法,并將字符串 "Hello" 作為參數(shù)傳入,我們可以得到結(jié)果 "Hello!"。
在示例3中,我們將兩個(gè)函數(shù) incrementAndSquare 和 square 進(jìn)行組合。
首先將傳入的整數(shù)加1,然后對(duì)結(jié)果進(jìn)行平方運(yùn)算。通過(guò)調(diào)用 andThen 方法,我們可以得到一個(gè)新的 UnaryOperator 對(duì)象 incrementAndSquare,它將傳入的整數(shù)加1并對(duì)結(jié)果進(jìn)行平方運(yùn)算。最終,通過(guò)調(diào)用 apply 方法,并將數(shù)字 5 作為參數(shù)傳入,我們可以得到結(jié)果 36。
以上就是Java8函數(shù)式接口UnaryOperator用法示例的詳細(xì)內(nèi)容,更多關(guān)于Java8函數(shù)式接口UnaryOperator的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Mybatis的一級(jí)緩存和二級(jí)緩存原理分析與使用
mybatis-plus 是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,這篇文章帶你了解Mybatis的一級(jí)和二級(jí)緩存2021-11-11Java自帶定時(shí)任務(wù)ScheduledThreadPoolExecutor實(shí)現(xiàn)定時(shí)器和延時(shí)加載功能
今天小編就為大家分享一篇關(guān)于Java自帶定時(shí)任務(wù)ScheduledThreadPoolExecutor實(shí)現(xiàn)定時(shí)器和延時(shí)加載功能,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12springboot CommandLineRunner接口實(shí)現(xiàn)自動(dòng)任務(wù)加載功能
這篇文章主要介紹了springboot CommandLineRunner接口實(shí)現(xiàn)自動(dòng)任務(wù)加載功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05java8 BigDecimal類(lèi)型的List求和方式
這篇文章主要介紹了java8 BigDecimal類(lèi)型的List求和方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-11-11Security6.4.2?自定義異常中統(tǒng)一響應(yīng)遇到的問(wèn)題
本文主要介紹了Security6.4.2?自定義異常中統(tǒng)一響應(yīng)遇到的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03解決maven?maven.compiler.source和maven.compiler.target的坑
這篇文章主要介紹了解決maven?maven.compiler.source和maven.compiler.target的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Spring IOC源碼之bean的注冊(cè)過(guò)程講解
這篇文章主要介紹了Spring IOC源碼之bean的注冊(cè)過(guò)程講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09MyBatis如何實(shí)現(xiàn)多表查詢(xún)(多對(duì)一、一對(duì)多)
這篇文章主要給大家介紹了關(guān)于MyBatis如何實(shí)現(xiàn)多表查詢(xún)(多對(duì)一、一對(duì)多)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05