欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java提供的4種函數(shù)式接口

 更新時間:2022年03月12日 16:47:08   作者:傲嬌的喵醬  
這篇文章主要介紹了java提供的4種函數(shù)式接口,函數(shù)接口是只有一個抽象方法的接口,用作?Lambda?表達式的類型并有且只有一個抽象方法的接口,下文詳細內(nèi)容,需要的小伙伴可以參考一下

1、什么是函數(shù)式接口

函數(shù)接口是只有一個抽象方法的接口,用作 Lambda 表達式的類型。使用@FunctionalInterface注解修飾的類,編譯器會檢測該類是否只有一個抽象方法或接口,否則,會報錯??梢杂卸鄠€默認方法,靜態(tài)方法。

 有且只有一個抽象方法的接口

場景:

適用于函數(shù)式編程場景(使用lambda表達式編程)的接口,函數(shù)式接口可以適用于lambda使用的接口。

只有確保接口中有且只有一個抽象方法,java中的lambda才能順利推到

2.java提供四種類型的函數(shù)式接口

package day06.java8;
/*
java提供四種類型的函數(shù)式接口
Function<T,R>, 轉換類型,傳入一個T類型,傳出一個R類型
Consumer<T> 消費型
Supplier<T>,什么都不傳,給返回一個對象
Predicate<T> 斷言型,傳入一個T類,返回斷言true false
?*/
?
import org.apache.commons.lang3.RandomStringUtils;
?
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
?
public class Demo04 {
? ? public static void main(String[] args) {
? ? ? ? // Function<T,R>, 轉換類型
? ? ? ? Function<String,Integer> function =str -> str.length();
? ? ? ? Integer abc = function.apply("abc");
? ? ? ? System.out.println(abc);
? ? ? ? // Consumer<t> 消費型
? ? ? ? Consumer<String> consumer =str-> System.out.println(str);
? ? ? ? consumer.accept("abc");
? ? ? ? //Supplier<T>,什么都不傳,給返回一個對象
? ? ? ? // 這里隨機返回一個長度為8的字符串
? ? ? ? Supplier<String> supplier = ()-> RandomStringUtils.randomAlphanumeric(8);
? ? ? ? String s = supplier.get();
? ? ? ? System.out.println(s);
? ? ? ? // Predicate<T> 斷言型,傳入一個T類,返回斷言true false
? ? ? ? Predicate<String> predicate =str->str.length()>3;
? ? ? ? boolean test = predicate.test("abcd");
? ? ? ? System.out.println(test);
?
?
? ? }
}

到此這篇關于java提供的4種函數(shù)式接口的文章就介紹到這了,更多相關java函數(shù)式接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論