java提供的4种函数式接口

 更新时间:2022年03月12日 16:47:08   作者:傲娇的喵酱  
这篇文章主要介绍了java提供的4种函数式接口,函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型并有且只有一个抽象方法的接口,下文详细内容,需要的小伙伴可以参考一下

1、什么是函数式接口

函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型。使用@FunctionalInterface注解修饰的类,编译器会检测该类是否只有一个抽象方法或接口,否则,会报错。可以有多个默认方法,静态方法。

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

场景:

适用于函数式编程场景(使用lambda表达式编程)的接口,函数式接口可以适用于lambda使用的接口。

只有确保接口中有且只有一个抽象方法,java中的lambda才能顺利推到

2.java提供四种类型的函数式接口

package day06.java8;
/*
java提供四种类型的函数式接口
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种函数式接口的文章就介绍到这了,更多相关java函数式接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java语言实现简单FTP软件 FTP连接管理模块实现(8)

    Java语言实现简单FTP软件 FTP连接管理模块实现(8)

    这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP连接管理模块的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 本地启动RocketMQ未映射主机名产生的超时问题最新解决方案

    本地启动RocketMQ未映射主机名产生的超时问题最新解决方案

    这篇文章主要介绍了本地启动RocketMQ未映射主机名产生的超时问题,本文给大家分享最新解决方案,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • JWT在OpenFeign调用中进行令牌中继详解

    JWT在OpenFeign调用中进行令牌中继详解

    Feign是一个声明式的Web Service客户端,是一种声明式、模板化的HTTP客户端。而OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等,这篇文章主要给大家介绍了关于JWT在OpenFeign调用中进行令牌中继的相关资料,需要的朋友可以参考下
    2021-10-10
  • IDEA打开java项目后里面的java文件不能运行解决办法

    IDEA打开java项目后里面的java文件不能运行解决办法

    这篇文章主要给大家介绍了关于IDEA打开java项目后里面的java文件不能运行的解决办法,有时候想运行别人的项目,但是别人的项目并非IDEA项目(甚至只有源码),当我们打开项目时候,并不能运行,需要的朋友可以参考下
    2023-10-10
  • Java 反射获取类详细信息的常用方法总结

    Java 反射获取类详细信息的常用方法总结

    Java 反射获取类详细信息的常用方法总结,需要的朋友可以参考一下
    2013-03-03
  • Java动态验证码单线设计的两种方法

    Java动态验证码单线设计的两种方法

    这篇文章主要介绍了Java动态验证码单线设计的两种方法,需要的朋友可以参考下
    2018-07-07
  • 如何解决redis的NOAUTH Authentication required异常

    如何解决redis的NOAUTH Authentication required异常

    这篇文章主要介绍了Jedis异常解决:NOAUTH Authentication required,,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2019-07-07
  • 浅谈SpringMVC的执行流程

    浅谈SpringMVC的执行流程

    下面小编就为大家带来一篇浅谈SpringMVC的执行流程。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Java如何实现自定义异常类

    Java如何实现自定义异常类

    这篇文章主要介绍了Java如何实现自定义异常类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • java实现二维码生成功能详细示例

    java实现二维码生成功能详细示例

    这篇文章主要给大家介绍了关于java实现二维码生成功能的相关资料,随着信息化时代的到来,二维码作为一种信息传递的工具,越来越受到人们的欢迎,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论