ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA8新特性之——函数式接口

2020-03-11 21:38:58  阅读:228  来源: 互联网

标签:java 函数 GreetingService 接口 util message JAVA8


JAVA8新特性之——函数式接口

一:什么是函数式接口?

1.一个接口里面只有一个抽象方法

2.用@FunctionalInterface注解标识 (没有也不报错就好像重写的注解@Override)。

如定义了一个函数式接口如下:

@FunctionalInterface

interface GreetingService {

    void sayMessage(String message);}

那么就可以使用Lambda表达式来表示该接口的一个实现(注:JAVA 8 之前一般是用匿名类实现的):

GreetingService greetService1 = message -> System.out.println("Hello " + message);

二:Java内置函数式接口

1.JDK 1.8 之前已有的函数式接口:

· java.lang.Runnable

· java.util.concurrent.Callable

· java.security.PrivilegedAction

· java.util.Comparator

· java.io.FileFilter

· java.nio.file.PathMatcher

· java.lang.reflect.InvocationHandler

· java.beans.PropertyChangeListener

· java.awt.event.ActionListener

· javax.swing.event.ChangeListener

2.JDK 1.8 新增加的函数接口:

· java.util.function*

java内置的4大核心函数式接口

  • 消费型接口 Consumer void accept(T t)
  • 供给型接口 Supplier T get()
  • 函数型接口 Function<T,R> R apply(T t)
  • 断定型接口 Predicate boolean test(T t)
    img
    img

三:具体使用业务场景

我开发中暂时还没有用到这块,如果有补充的欢迎大家补充~

标签:java,函数,GreetingService,接口,util,message,JAVA8
来源: https://blog.csdn.net/qq_26598941/article/details/104806287

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有