流式调用

CompletionStage有约40个方法是为函数式编程做准备的,通过CompletionStage提供的接口,可以在一个执行结果上进行多次流式调用,以此得到最终结果。

例子,异步计算100的2次方,然后转换成字符串+str,最后输出。

supplyAsync()方法执行一个异步任务,接着连续使用流式调用对任务的处理结果进行再加工,直到最后输出结果。

private void test() {

final int num = 100;

final CompletableFuture future =

CompletableFuture.supplyAsync(()->calculate(num))

.thenApply(x -> Integer.toString(x))

.thenApply((str) -> num + "的平方: " + str)

.thenAccept(System.out::println);

try {

future.get();

}catch (Exception e) {

e.printStackTrace();

}

System.out.println("exit");

}

private int calculate(int x) {

int res = 0;

try {

Thread.sleep(1000);

res = x * x;

}catch (InterruptedException ie) {

ie.printStackTrace();

}

return res;

}

输出结果:

用CompletableFuture异步流式调用,计算随机生成10个1~100的随机数并求和,然后对求得的和计算其平方的值,最后打印。

java调用平方函数,Java8函数式编程入门相关推荐

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

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

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

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

  3. Java8函数式编程语法入门

    Java8函数式编程语法入门 Java8中函数式编程语法能够精简代码. 使用Consumer作为示例,它是一个函数式接口,包含一个抽象方法accept,这个方法只有输入而无输出. 现在我们要定义一个C ...

  4. Java 函数式编程入门

    Java 函数式编程入门 函数式编程实战 改进 完整代码   像 JavaScript 这种语言很早就支持闭包了,虽然 C++ 很早就有了函数指针,Java 也很早就提供了反射中的 Method 类, ...

  5. java8 函数式编程_如何使用Java 8函数式编程生成字母序列

    java8 函数式编程 我偶然发现了用户" mip"一个有趣的堆栈溢出问题 . 问题是: 我正在寻找一种生成字母序列的方法: A, B, C, ..., Z, AA, AB, AC ...

  6. java8 函数式编程_使用Javaslang进行Java 8中的函数式编程

    java8 函数式编程 我们非常高兴地在jOOQ博客上宣布一个客座帖子,该帖子由HSH Nordbank的高级软件工程师Daniel Dietrich (三人的丈夫和父亲)撰写. 他目前作为项目负责人 ...

  7. java8 函数式编程_您必须学习Java 8的函数式编程吗?

    java8 函数式编程 我最近一直在研究Java 8,并掌握了Manning出版的" Java 8 In Action" . 让我印象深刻的第一件事是Java 8独特的销售主张是函 ...

  8. java8 函数式编程_Java 8函数式编程:延迟实例化

    java8 函数式编程 单例通常会延迟实例化自己,有时,如果对象足够重,则可以延迟实例化类字段. 通常,在走惰性路线时,getter方法(或accessor )必须具有一段代码,该代码块在返回对象之前 ...

  9. Java8函数式编程详解

    Java8 函数式编程详解 Author:Dorae Date:2017年11月1日23:03:26 转载请注明出处 说起Java8,可能很多人都已经知道其最大的改进,就是引入了Lambda表达式与S ...

最新文章

  1. excel按季度分类汇总_Excel数据透视不会,分类汇总来帮忙,强的不是一点,学会它,错不了...
  2. 《基于张量网络的机器学习入门》学习笔记6
  3. Java动态代理代码案例:使用cglib实现对无接口的类进行动态代理
  4. 基于jsp的教师科研工作量_基于jsp+mysql的JSP教师科研信息管理系统
  5. js里的null 与undefined
  6. Java的getcelltype用法_java getCellType的替代方法
  7. 50张动图带你走进神奇的物理生物化学世界,超震撼!
  8. 筛选出c语言成绩前五名的记录,c语言课程论文设计成绩记录簿.doc
  9. oracle 中的除法函数,Oracle 函数
  10. 运行Wlmadmin无法访问计算机,网络许可证管理员指引.PDF
  11. 一款java游戏收齐绿宝石哈,神奇宝贝绿宝石游戏
  12. 单片机LED与蜂鸣器原理与实践
  13. 2020寒假牛客第一场——G eli和字符串
  14. 冰汽朋克侦查机器人_冰汽时代机器流玩法 寒霜朋克机器人流玩法怎么玩
  15. 时间复杂度与空间复杂度总结
  16. C++遍历文件夹下的所有文件
  17. MySQL学习笔记——数据库的创建、修改与删除
  18. QD77MS4 RD77MS4 运动控制模块凸轮曲线样例程序
  19. [附源码]java毕业设计毕业设计管理系统
  20. LintCode入门题目

热门文章

  1. android titlebar 高度是多少,什么是TitleBar的默认高度和Android中Titlebar中的默认TextSize?...
  2. 计网复习第三章part one
  3. IDEA 快速搭建SpringBoot项目 提供GitHub源码地址
  4. JAVA Swing GUI设计 WindowBuilder Pro Container使用大全2——JPanel使用
  5. 云原生被热捧,是炒作还是大势所趋?
  6. 数据库史上最大投资!Neo4j获3.25亿美元F轮融资
  7. 中国联通最快明年实现2G全面退网;苹果发布iOS 14.3后火速撤回:原因未知;Angular 11.0.0 正式发布|极客头条
  8. 漫画:应用程序被拖慢?罪魁祸首是 Log4j!
  9. Go语言潜力有目共睹,但它的Goroutine机制底层原理你了解吗?
  10. AI+大数据顶级技术盛会倒计时10天,6.6折票限时特惠!