Java8函数式接口

news/2024/4/28 20:16:38

文章目录

  • 1. Runnable
  • 2. Consumer<T>
  • 3. Supplier<T>
  • 4. Function<T, R>
  • 5. Predicate<T>

函数式接口是Java 8中引入的一个概念,它指的是只有一个抽象方法的接口。Java 8通过@FunctionalInterface注解来标记这样的接口。利用函数式接口,结合Lambda表达式,可以使代码更加简洁易读。以下是一些常见的函数式接口案例:

1. Runnable

Runnable接口是最简单的函数式接口之一,它不接受任何参数,也不返回任何结果,通常用于在新线程中执行代码块。

Runnable runnable = () -> System.out.println("Hello from a new thread!");
new Thread(runnable).start();

2. Consumer

Consumer接口代表接受单一输入参数但不返回结果的操作,常用于对参数执行操作。

Consumer<String> printer = x -> System.out.println(x);
printer.accept("Hello, Consumer!");

3. Supplier

Supplier接口代表结果供应商,无需输入参数,返回一个结果,常用于延迟计算或构造新对象。

Supplier<Double> randomValue = () -> Math.random();
System.out.println(randomValue.get());

4. Function<T, R>

Function<T, R>接口接受一个输入参数,返回一个结果,常用于转换从一种类型到另一种类型。

Function<String, Integer> lengthFunction = String::length;
System.out.println(lengthFunction.apply("Hello, Function!"));

5. Predicate

Predicate接口表示一个参数的谓词(布尔值函数),常用于过滤或匹配。

Predicate<String> isLongerThan5 = str -> str.length() > 5;
System.out.println(isLongerThan5.test("Hello, World!"));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/10699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

PWM驱动直流电机

接线图项目结构 PWM.C #include "stm32f10x.h" // Device headervoid PWM_Init(void){// 开启时钟&#xff0c;这里TIM2是通用寄存器RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);// GPIO初始化代码/*开启时钟*/RCC_APB2PeriphClockCmd(R…

下载chromedrive,使用自动化

1、先看一下自己浏览器的版本 2、访问 https://googlechromelabs.github.io/chrome-for-testing/

外包干了9天,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;2018年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer&#xff08;网格渲染器&#xff09;Materials&#xff08;材质&#xff09;Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes&#xff08;探针&#xff09;Ray Tracing&#xff08;光线追踪&#xff09;Additi…

mysql与redis数据测试

题目要求 1.新建一张user表&#xff0c;在表内插入10000条数据。 2.①通过jdbc查询这10000条数据&#xff0c;记录查询时间。 ②通过redis查询这10000条数据&#xff0c;记录查询时间。 3.再次查询这一万条数据&#xff0c;要求根据年龄进行排序&#xff0c;mysql和redis各实现…

深入理解计算机系统学习笔记

1.存储器层次结构 存储技术&#xff1a;不同存储技术的访问时间差异很大。速度较快的技术每字节的成本要比速度较慢的技术高&#xff0c;而且容量较小。CPU和主存之间的速度差距在增大。 计算机软件&#xff1a;一个编写良好的程序倾向于展示出良好的局部性。 硬件和软件的这…