java8 函数接口
【前言】 java8新特性
java8 Optional使用总结
java8 lambda表达式
Java 8 时间日期使用
1、函数式接口新特性
java8中引入了函数式接口新特性,使用@FunctionalInterface标识,表示有且只有一个抽象方法,但可以有多个非抽象方法。eg:
package com.notes.java8.functionInterface;/*** 文件描述 函数式接口:* 有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。**/ @FunctionalInterface public interface Hello {/*** abstract 方法,只能有一个*/void hello();/*** 允许定义默认方法*/default void hi(){System.out.println("this is default method");}/*** 允许定义静态方法*/static void hei() {System.out.println("this is static method");}/*** 允许定义 java.lang.Object 里的 public 方法*/@Overrideboolean equals(Object obj); }
2、四大基本函数式接口
> Function<T, R>
接受一个入参T,返回R类型对象,使用apply方法获取方法执行的内容
R apply(T t);
eg:
User user = new User(88, "bb");String name = uft.apply(user);System.out.println(name);/*** Function<T, R> lambda写法*/private static Function<User, String> uft = u -> u.getName();
> Consumer<T>
接受一个参数T,没有返回值,使用accept方法对参数执行操作
void accept(T t);
eg:
User user = new User(88, "bb");uc.accept(user);/*** Consumer<T> lambda写法*/private static Consumer<User> uc = u -> System.out.println(u.getName());
> Supplier<T>
没有入参,返回T类型结果,使用get方法获取返回结果
T get();
eg:
User user1 = us.get();System.out.println(user1.getName());/*** Supplier<T> lambda写法*/private static Supplier<User> us = () -> new User(1, "us");
> Predicate<T>
接受一个入参,返回结果为true或者false,使用test方法进行测试并返回测试结果
boolean test(T t);
eg:
boolean test = up.test(user);System.out.println(test); /*** Predicate<T>*/private static Predicate<User> up = u -> !u.getName().isEmpty();
其他的函数式接口可参见以下接口示意图
转载于:https://www.cnblogs.com/kingsonfu/p/11022980.html
java8 函数接口相关推荐
- [一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...
本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程? java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的函数 ...
- java中函数是什么_[一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...
本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程? java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的函数 看 ...
- java8 lambda 接口_Java8新特性之一:Lambda表达式
Java8是自java5之后最重大的一次更新,它给JAVA语言带来了很多新的特性(包括编译器.类库.工具类.JVM等),其中最重要的升级是它给我们带来了Lambda表达式和Stream API. 1. ...
- JAVA8 BiConsumer 接口
这个接口跟<JAVA8 Consumer接口>很像,表达的想法也是一致的,都是消费的意思,我们先看下接口定义 @FunctionalInterface public interface B ...
- 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )
文章目录 一.函数接口形参 二.读取配置文件的逐行遍历操作 1.读取配置文件的逐行遍历操作 2.读取一行数据 3.查找字符 4.删除字符串前后的空格 5.完整代码示例 一.函数接口形参 函数作用 : ...
- 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )
文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...
- 【linux开发】IO端口和IO内存的区别及分别使用的函数接口
IO端口和IO内存的区别及分别使用的函数接口 每个外设都是通过读写其寄存器来控制的.外设寄存器也称为I/O端口,通常包括:控制寄存器.状态寄存器和数据寄存器三大类.根据访问外设寄存器的不同方式,可以把 ...
- JDK 8 新特性 之 函数接口
函数接口 定义:接口中只有唯一的一个抽象方法,该接口就称之为函数接口. //函数接口 public interface FunctionInterface1 {//1.只有一个方法的接口,默认称之为函 ...
- java.util接口_函数接口– Java 8中java.util.function包中的函数接口
java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...
最新文章
- 地址引用PHP,浅谈PHP变量作用域以及地址引用问题
- css 样式通用样式
- Java并发编程实战_真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结...
- python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...
- 如何用Pygame写游戏(十四)
- webpack filemanager-webpack-plugin 打多个zip时,出现循环打包情况
- 关键词是用分号还是逗号隔开_逗号、顿号、分号、冒号、破折号的用法
- HOUR 4 Expressions, Statements, and Operators
- redis 中一个字段 修改map_Redis中bitmap的妙用
- php array_intersect() 和 array_diff() 函数
- 解决TIME_WAIT造成的服务器无法访问
- 华为盒子EC6108V9A-RK3128-1+4G 免拆机 卡刷固件及教程
- 管理型工业以太网交换机什么
- 移动互联网组建与优化
- markdown生成chm电子书或在线文档
- 4字母域名价值高吗?目前值多少钱?
- Windows 10创建用户
- java手机刷机精灵,按钮救星(按键精灵所有者读写权限)
- 闪光网-彭亮《学后感——彭亮总结》
- python小数乘法计算_小学数学所有的知识点都在这里,期末复习必备!
热门文章
- Predicting Sharp and Accurate Occlusion Boundaries in Monocular Depth Estimation Using Displacement
- javaScript与jQuery中Window对象
- Weblogic:AdminServer.lok被锁导致启动、关闭域失败
- 银保监回应“网点收缩”,远程服务大有所为,容联云助力远程银行加速建设
- 怎样才能使你的Mac更加个性化?
- 不平衡篇(一)记录不平衡工具包imbalanced-learn的安装——小白入门
- 2007年春晚点评(小生精选荟萃版)
- 一念逍遥服务器维护,《一念逍遥》2021年6月4日更新公告 6月4日更新了什么_一念逍遥...
- python输出带颜色的字体
- 孟岩:可计算 NFT:概念、意义和核心思想