ICode9

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

Java 四大函数式接口

2020-02-22 10:02:58  阅读:310  来源: 互联网

标签:Java 函数 System 接口 流式 链式 println lambda out


简介: 四大函数式接口都是java.util.function包下的

1. Function 函数式接口,有一个输入,有一个输出

Function<String, Integer> function = new Function<String, Integer>() {
    @Override
    public Integer apply(String o) {
       System.out.println("链式编程,流式计算,lambda表达式!” + o);
      return 1;
    }            
}  
等价于 lambda表达式中参数只有一个时,括号可以省略
Function<String, Integer> function = o -> {
  System.out.println("链式编程,流式计算,lambda表达式" + o);
  return 1;
}

2. Predicate 断定型接口,有一个输入参数,返回布尔值

Predicate<String> predicate= new Predicate<String>() {
    @Override
    public boolean test(String o) {
       System.out.println("链式编程,流式计算,lambda表达式!” + o);
      return true;
    }            
}  
等价于
Predicate<String> predicate = o -> {
  System.out.println("链式编程,流式计算,lambda表达式" + o);
  return true;
}  

3. Consumer 消费型接口,有一个输入参数,没有返回值

Consumer<String> consumer= new Consumer<String>() {
    @Override
    public void accept(String o) {
       System.out.println("链式编程,流式计算,lambda表达式!” + o);
    }            
}  
等价于
Consumer<String> consumer= o -> {
  System.out.println("链式编程,流式计算,lambda表达式" + o);
}  

4. Supplier 供给型接口,没有输入参数,只有返回值

Supplier<Integer> supplier= new Supplier<Integer>() {
    @Override
    public Integer get() {
       System.out.println("链式编程,流式计算,lambda表达式!”);
    return 1; } } 等价于 Supplier<Integer> supplier = () -> {   System.out.println("链式编程,流式计算,lambda表达式");
  return 1; }

 

标签:Java,函数,System,接口,流式,链式,println,lambda,out
来源: https://www.cnblogs.com/ruhuanxingyun/p/12344276.html

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

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

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

ICode9版权所有