Java四大函数式接口
Java8函数式接口
- 1. Consumer<T> 消费型接口
- 2. Supplier <R> 供给型接口
- 3. Function<T, R> 函数型接口
- 4. Predicate<T> 断定型接口
- 5. 四大接口总结
函数式接口有利于lambda表达式的编写和流式计算。在Java中定义了四种函数式接口,
Consumer
消费型接口 有参无返,Supplier
供给型函数 无参有返,Function
函数式接口 有参有返,Predicate
断定型接口。 四大接口。接口参数和返回值只有一个。
下面T为类型的泛型,R为返回的泛型
1. Consumer<T> 消费型接口
- 匿名内部类实现
// 消费型函数
Consumer<String> consumer = new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println("come in consumer type function..." + s);}
};
- lambda演示
private static void consumerDemo() {Consumer<String> consumer = str -> {System.out.println("消费型函数 有参无返");System.out.println(str);};// 调用consumber接口中的函数consumer.accept("bitQian666");
}
2. Supplier <R> 供给型接口
- 匿名内部类实现
// 供给型函数
Supplier<String> supplier = new Supplier<String>() {@Overridepublic String get() {return null;}
};
- lambda演示
private static void supplierDemo() {// 供给型函数Supplier<String> supplier = () -> "supplier 供给型函数 无参有返";System.out.println(supplier.get());
}
3. Function<T, R> 函数型接口
- 匿名内部类实现
// 函数型接口
Function<String, Integer> function = new Function<String, Integer>() {@Overridepublic Integer apply(String s) {return null;}
};
- lambda演示
private static void functionDemo() {// 函数型接口Function<String, Integer> function = s -> {System.out.println("这是有参有返回的函数式接口!\t" + s);return 666;};System.out.println(function.apply("hello function!"));
}
4. Predicate<T> 断定型接口
- 匿名内部类实现
// 断定型接口
Predicate<String> predicate = new Predicate<String>() {// 参数是泛型 返回是boolean// 调用test方法@Overridepublic boolean test(String s) {return false;}
};
- lambda演示
private static void predicateDemo() {// 方法引用 判断输入的字符串 是否为空Predicate<String> predicate = String::isEmpty;System.out.println(predicate.test("hhh"));
}
5. 四大接口总结
Java四大函数式接口相关推荐
- Java 内置核心四大函数式接口
在java.util.function包内 , 有Java 内置核心四大函数式接口,可以使用lambda表达式 1.函数型接口(有一个输入,有一个输出) public class Demo1 {pub ...
- 学习 Java 8 - 函数式接口 Lambda
学习 Java 8 - 函数式接口 Java 8 引入了函数式接口的概念.函数式接口其实就是只包含一个抽象方法的普通 Java 接口.在没有引入函数式接口之前,我们通常使用内部类和匿名类来实现类似的功 ...
- 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集进阶版
在前文(高级JAVA - 利用函数式接口实现通用的取并集/交集/差集)中我们实现了利用函数式接口获取交集/差集 , 但是只能全部生成 , 假如我们只需要一个交集的话 , 所有代码仍然会执行一次 . 比 ...
- java中函数式接口的使用
java中函数式接口的使用 一.自己创建的函数式接口 1.1 概念 只存在一个抽象方法的接口. 1.2 使用步骤: 1.创建函数式接口,创建格式参照使用格式. 2.创建一个实例类 3.在实例类中使用函 ...
- java8 四大函数式接口 和 用于数据处理的 stream流 使用详解
文章目录 Stream 使用示例 四大函数式接口 Function 功能型接口 Consumer 消费型接口 Supplier 提供型接口 Predicate 断言型接口 常用 api stream, ...
- Java之函数式接口(FunctionalInterface)
Java之函数式接口(FunctionalInterface) 1. FunctionalInterface是什么? FunctionalInterface 中文称之为 函数式接口.是Java新特性之 ...
- Java JDK1.8新特性之四大函数式接口
JDK 1.8的一些新特性 四大核心函数式接口(Consumer.Predicate.Supplier.Function),结合lambda表达式 import java.util.ArrayList ...
- 【Java】函数式接口与Lambda表达式
函数式接口--@FunctionalInterface Code @FunctionalInterface interface IService {void say(String message); ...
- 高级JAVA - 利用函数式接口实现通用的取并集/交集/差集
package com.xing.dto;import com.xing.common.utils.XDataUtil; import lombok.Data;import java.util.Arr ...
最新文章
- 支撑亿级用户“刷手机”​,百度Feed流背后的新技术装备有多牛?
- 2021年自然语言处理学习路线!
- 华为发布《自动驾驶网络解决方案白皮书》
- c语言未结束的引用标识符,2015年9月计算机二级《C语言》高分突破模拟卷(4)
- 修改MS SQL2000数据库的所有者,很实用
- mysql 中文列索引_MYSQL多列索引
- linux c之通过管道实现兄弟间进程通信:
- Thread的run()与start()的区别
- 在Ubuntu 18.04系统中使用Netplan工具配置网络
- C++设计模式实现--职责链(Chain of Responsibility)模式
- CASS删除分幅后图框内部十字丝
- 用printf 输出各种数据格式(包含示例代码)
- C#正则表达式(来源:侧身向南边博客)
- java barchart_Bar Chart
- 【CF724F】Uniformly Branched Trees 动态规划
- 详解sklearn——CountVectorizer
- java实现销售预测算法,预测5天销售
- 【洛谷】P1067 多项式输出【模拟】
- windows 7 x64 下的 System Call
- 大象喝水编程c语言,OpenJudge计算概论-大象喝水