02-Java8新特性 函数式接口
函数式接口
接口中只有一个抽象方法的口,称为函数式接口,可以使用注解@FunctionInterface 修饰
@FunctionInterface : 可以检查接口是否为函数式接口
内置四大核心函数式接口
Consumer 消费型接口
void accept(T t);
@Test public void test5(){ happy("hello world", str -> System.out.println("this is " + str)); } public void happy(String str, Consumer consumer){ consumer.accept(str); }
Supplier 供给型接口
T get();
@Test public void test6(){ List num = getNum(10, () -> (int) (Math.random() * 100)); num.forEach(System.out::println); } public List getNum(int num, Supplier supplier){ ArrayList integers = new ArrayList<>(); for (int i = 0; i < num; i++) { integers.add(supplier.get()); } return integers; }
Function<T,R> 函数型接口
R apply(T t);
@Test public void test7(){ String hello_world = stringHandler("hello world", s -> s.substring(0, 5)); System.out.println(hello_world); } public String stringHandler(String string, Function<String,String> function){ return function.apply(string); }
Predicate 断言型接口
boolean test(T t);
@Test public void test8(){ boolean query = isQuery("select query", s -> s.equals("select query")); System.out.println(query); } public boolean isQuery(String string, Predicate predicate){ return predicate.test(string); }
其他接口
作者:彼岸舞
时间:2021\12\13
内容关于:Java
本文属于作者原创,未经允许,禁止转发
分类:
Java8新特性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」