【前言】 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 函数接口相关推荐

  1. [一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...

    本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程?   java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的函数 ...

  2. java中函数是什么_[一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...

    本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程? java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的函数 看 ...

  3. java8 lambda 接口_Java8新特性之一:Lambda表达式

    Java8是自java5之后最重大的一次更新,它给JAVA语言带来了很多新的特性(包括编译器.类库.工具类.JVM等),其中最重要的升级是它给我们带来了Lambda表达式和Stream API. 1. ...

  4. JAVA8 BiConsumer 接口

    这个接口跟<JAVA8 Consumer接口>很像,表达的想法也是一致的,都是消费的意思,我们先看下接口定义 @FunctionalInterface public interface B ...

  5. 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )

    文章目录 一.函数接口形参 二.读取配置文件的逐行遍历操作 1.读取配置文件的逐行遍历操作 2.读取一行数据 3.查找字符 4.删除字符串前后的空格 5.完整代码示例 一.函数接口形参 函数作用 : ...

  6. 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )

    文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...

  7. 【linux开发】IO端口和IO内存的区别及分别使用的函数接口

    IO端口和IO内存的区别及分别使用的函数接口 每个外设都是通过读写其寄存器来控制的.外设寄存器也称为I/O端口,通常包括:控制寄存器.状态寄存器和数据寄存器三大类.根据访问外设寄存器的不同方式,可以把 ...

  8. JDK 8 新特性 之 函数接口

    函数接口 定义:接口中只有唯一的一个抽象方法,该接口就称之为函数接口. //函数接口 public interface FunctionInterface1 {//1.只有一个方法的接口,默认称之为函 ...

  9. java.util接口_函数接口– Java 8中java.util.function包中的函数接口

    java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...

最新文章

  1. 地址引用PHP,浅谈PHP变量作用域以及地址引用问题
  2. css 样式通用样式
  3. Java并发编程实战_真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结...
  4. python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...
  5. 如何用Pygame写游戏(十四)
  6. webpack filemanager-webpack-plugin 打多个zip时,出现循环打包情况
  7. 关键词是用分号还是逗号隔开_逗号、顿号、分号、冒号、破折号的用法
  8. HOUR 4 Expressions, Statements, and Operators
  9. redis 中一个字段 修改map_Redis中bitmap的妙用
  10. php array_intersect() 和 array_diff() 函数
  11. 解决TIME_WAIT造成的服务器无法访问
  12. 华为盒子EC6108V9A-RK3128-1+4G 免拆机 卡刷固件及教程
  13. 管理型工业以太网交换机什么
  14. 移动互联网组建与优化
  15. markdown生成chm电子书或在线文档
  16. 4字母域名价值高吗?目前值多少钱?
  17. Windows 10创建用户
  18. java手机刷机精灵,按钮救星(按键精灵所有者读写权限)
  19. 闪光网-彭亮《学后感——彭亮总结》
  20. python小数乘法计算_小学数学所有的知识点都在这里,期末复习必备!

热门文章

  1. Predicting Sharp and Accurate Occlusion Boundaries in Monocular Depth Estimation Using Displacement
  2. javaScript与jQuery中Window对象
  3. Weblogic:AdminServer.lok被锁导致启动、关闭域失败
  4. 银保监回应“网点收缩”,远程服务大有所为,容联云助力远程银行加速建设
  5. 怎样才能使你的Mac更加个性化?
  6. 不平衡篇(一)记录不平衡工具包imbalanced-learn的安装——小白入门
  7. 2007年春晚点评(小生精选荟萃版)
  8. 一念逍遥服务器维护,《一念逍遥》2021年6月4日更新公告 6月4日更新了什么_一念逍遥...
  9. python输出带颜色的字体
  10. 孟岩:可计算 NFT:概念、意义和核心思想