课时132:内建函数式接口

简介: 在JDK 1.8之中提供有 Lambda 表达式和方法引用,但如果由开发者来定义函数式接口,需要使用“@FunctionalInterface”注解进行大量声明,于是为了方便则可以直接引用系统中的函数式接口。在系统中专门提供有一个 java.util.function 的开发包,里面可以直接使用函数式接口,共有如下几个核心接口供我们使用。

课时132:内建函数式接口

摘要:在JDK 1.8之中提供有 Lambda 表达式和方法引用,但如果由开发者来定义函数式接口,需要使用“@FunctionalInterface”注解进行大量声明,于是为了方便则可以直接引用系统中的函数式接口。

在系统中专门提供有一个 java.util.function 的开发包,里面可以直接使用函数式接口,共有如下几个核心接口供我们使用

1. 功能性函数式接口

2. 消费型函数接口

3. 供给型函数式接口

4. 断言型函数接口

 

01. 功能性函数式接口

 

1.1 接口定义


在String类中有一个方法判断是否以指定的字符串开头:public boolean startsWith(String str)

开发包中带有“Function”后缀,@FunctionalInterface

Public Interface Function<T,R>

接口使用:

import java.util.function.*,
Public class JavaDemo{
        Public static Void main(String args[]){
        Function<String,Boolean>fun=”**Hello”::startsWith;
        System.out.println(fun.apply(”**”));   
}
}

image.png

执行结果

image.png

 

02. 消费型函数接口

 

2.1 接口定义:


指的是只能进行数据的处理操作,没有任何的返回;在进行系统数据处理输出的时候使用的是:

System.out.println();
@FunctionalInterface
Public interface Consumer<T>{
      Public Void accept(T t);
接口使用:
import java.util.function.*;
Public class JavaDemo {
     Public static void main(String args[]){
         Consumer<String> con =System.out::println;
         Con.accept(”www.mldn.cn”);
    }
}

image.png

执行结果

image.png

 

03. 供给型函数式接口:


3.1接口定义


在String累中提供有转小写方法,没有接收参数,但是有返回值;

方法:

public String toLowerCase();
@FunctionalInterface
Public internface Supplier<T>{
       Public T get();
接口使用:import java.util.function.*;
Public class JavaDemo {
     Public static void main(string args【】){
     Supplier<string> sup =www.MLDNJAVA.cn::toLowerCase;
System.out.println(suo.get());
     }
}

image.png

执行结果:

image.png

 

04. 断言型函数接口

 

4.1接口定义: 进行判断处理


在String类有一个equalsIgnoreCase()方法

@FunctionalInterface
Pablic interface Predicate<T>{
        Public Boolean test(T t) ;
}

接口使用:

import java.util.function.*;
Public class JavaDemo{
Public static void main(String args[]){
      Predicate<String>pre = “mldn”:: equalsIgnoreCase;
System.out.println(pre.test(“MLDN”));
    }
}

image.png

执行结果

image.png

总结:以后对于实际项目开发之中,如果JDK本身的函数式接口可以被使用,那么就没有必要进行定义。

相关文章
|
10月前
|
弹性计算 运维 资源调度
使用阿里云操作系统控制台巧解调度抖动
阿里云操作系统控制台是一站式云服务器管理平台,提供性能监控、故障诊断、日志分析、安全管理和资源调度等功能。用户可实时查看CPU、内存等使用情况,快速定位并解决调度抖动等问题。智能诊断工具自动生成优化建议,简化运维流程,降低技术门槛。尽管部分功能仍在优化中,但整体上显著提升了云服务器管理的效率和稳定性。
262 15
使用阿里云操作系统控制台巧解调度抖动
|
10月前
|
弹性计算 运维 监控
阿里云操作系统控制台解决网络故障
阿里云操作系统控制台是一款功能强大、操作便捷的云服务器管理平台,专为用户提供高效、智能的运维体验。它不仅支持服务器的创建、配置和监控,还集成了智能诊断、自动化运维和资源优化等高级功能,让云服务器管理变得更加轻松高效。通过直观的界面和丰富的工具,用户可以便捷地管理多台云服务器,实时监控系统性能,并快速定位和解决故障。例如,控制台的智能诊断功能能够自动分析系统异常,并提供优化建议,帮助用户迅速恢复服务。除此之外,控制台还支持批量操作、权限管理和日志分析,充分满足企业级用户的需求。无论是个人开发者还是大型企业,都可以借助阿里云操作系统控制台提升运维效率,降低管理成本,确保业务稳定运行。接下来就让我们
326 17
|
10月前
|
存储 人工智能 运维
阿里云操作系统控制台——解决服务器磁盘I/O故障
阿里云操作系统控制台——解决服务器磁盘I/O故障
471 12
|
10月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
监控 安全 BI
中小型企业如何选择合适的设备巡检系统?
设备巡检系统很多,但没有哪一款产品能通吃所有场景。中小企业选系统时,不要被功能清单晃花眼,关键是抓住自己的核心痛点:是效率低?记录乱?还是巡检作假?从这些需求出发,结合企业预算和员工能力,找到“刚刚好”的方案
|
JSON 算法 数据库
用python实现诸葛神数
本文内容旨在使用python实现一个很简单的诸葛神数卜筮的小脚本。当然这个卜筮结果希望大家不必过分当真,明显从步骤和卦签上能感受到,这不是一个严肃正经的占卜,权当练习吧。
314 29
EMQ
|
JSON Linux 网络性能优化
MQTT 5.0 报文解析 02:PUBLISH 与 PUBACK
本文将介绍在 MQTT 中用于传递应用消息的 PUBLISH 报文以及它的响应报文。不管是客户端向服务端发布消息,还是服务端向订阅端转发消息,都需要使用 PUBLISH 报文。决定消息流向的主题、消息的实际内容和 QoS 等级,都包含在 PUBLISH 报文中。
EMQ
1091 90
MQTT 5.0 报文解析 02:PUBLISH 与 PUBACK
|
存储 前端开发 小程序
大象转身:支付宝资金技术运营提效实践
大象转身:支付宝资金技术运营提效实践
404 4
大象转身:支付宝资金技术运营提效实践
|
存储 JSON JavaScript
protobuf抓包,读包
protobuf抓包,读包
455 4
|
弹性计算 运维 程序员
2核2G阿里云服务器价格多少?2024年阿里云61元一年2核2G3M配置云服务器测评参考
2核2G阿里云服务器价格多少?2024年阿里云61元一年2核2G3M配置云服务器测评参考。随着数字化浪潮的推进,云服务器已成为企业与个人开展线上业务不可或缺的基础设施。阿里云,作为国内云服务市场的佼佼者,其轻量应用服务器因其实用性与性价比受到了广泛关注。对于众多开发者与运维工程师而言,服务器的配置与价格始终是关注的焦点。那么,阿里云2核2G轻量应用服务器的价格究竟如何呢?
752 0