![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jdk8
文章平均质量分 88
andy2cloud
这个作者很懒,什么都没留下…
展开
-
Java8新特性——StreamAPI(一)
1. 流的基本概念1.1 什么是流?流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合。众所周知,集合操作非常麻烦,若要对集合进行筛选、投影,需要写大量的代码,而流是以声明的形式操作集合,它就像SQL语句,我们只需告诉流需要对集合进行什么操作,它就会自动进行操作,并将执行结果交给你,无需我们自己手写代码。因此,流的集合操作对我们来说转载 2017-11-18 14:10:26 · 211 阅读 · 0 评论 -
跟上 Java 8 – 了解 lambda
从java8出现以来lambda是最重要的特性之一,它可以让我们用简洁流畅的代码完成一个功能。 很长一段时间java被吐槽是冗余和缺乏函数式编程能力的语言,随着函数式编程的流行java8种也引入了 这种编程风格。在此之前我们都在写匿名内部类干这些事,但有时候这不是好的做法,本文中将介绍和使用lambda, 带你体验函数式编程的魔力。什么是lambda?lambda表达式是一段可以传递的...转载 2018-09-03 10:33:22 · 170 阅读 · 0 评论 -
Java7 新特性:try() 语句 即 try-with-resources
Try-with-resources是java7中一个新的异常处理机制,它能够很容易地关闭在try-catch语句块中使用的资源。利用Try-Catch-Finally管理资源(旧的代码风格)在java7以前,程序中使用的资源需要被明确地关闭,这个体验有点繁琐。下面的方法读取文件,然后用System.out打印:01private static void printFile() throws IO...转载 2018-04-10 09:50:35 · 25118 阅读 · 1 评论 -
JDK8新特性:函数式接口@FunctionalInterface的使用说明
我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。通过JDK8源码javadoc,可以知道这个注解有以下特点:1、该注解只能标记在"有且仅有一个抽象方法"的接口上。2、JDK8接口中的静态方法和默认方法,都不算是抽象方法。3转载 2018-03-10 11:30:41 · 739 阅读 · 0 评论 -
jdk8 Stream map和flatMap区别
1.map将一种类型的值转换为另外一种类型的值。代码:将List 转换成List List collected = Stream.of("a", "b").collect(Collectors.toList()); List figure = collected.stream().map(s -> { Integer i; switc转载 2018-01-12 20:27:34 · 30972 阅读 · 5 评论 -
java 8 新特性(1.函数式接口 - Functional Interface)
1.函数式接口(Functional Interface):所谓的函数式接口,当然首先是一个接口,然后就是在这个接口里面只能有一个抽象方法。这种类型的接口也称为SAM接口,即Single Abstract Method interfaces。1.1 函数式接口里允许定义默认方法:函数式接口里是可以包含默认方法,因为默认方法不是抽象方法,其有一个默认实现,所以是符合函数式接口的定义的;1.2 函...转载 2017-11-18 11:22:15 · 451 阅读 · 0 评论 -
java8新特性 lambda Stream map(函数式编程)
1.接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法 //Formula表示一个设计 计算公式 的接口 public interface Formula { //计算 double calculate(int a); //开方转载 2017-11-18 14:50:35 · 2888 阅读 · 0 评论 -
Java 8 Optional类深度解析
身为一名Java程序员,大家可能都有这样的经历:调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法。我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数。这正是一些类似Guava的外部API试图解决的问题。一些JVM编程语言比如Scala、Ceylon等已经将对在核心API中解决了这个问题。在我的前一篇文章中,介绍了Scala是如何解决了这个问题。转载 2017-11-18 14:37:23 · 208 阅读 · 0 评论 -
Java 8:不要再用循环了
正如我之前所写的,Java 8中的新功能特性改变了游戏规则。对Java开发者来说这是一个全新的世界,并且是时候去适应它了。在这篇文章里,我们将会去了解传统循环的一些替代方案。在Java 8的新功能特性中,最棒的特性就是允许我们去表达我们想要完成什么而不是要怎样做。这正是循环的不足之处。要确保循环的灵活性是需要付出代价的。return、break 或者 continue都会显著地改变循环的实转载 2017-11-18 11:43:41 · 9980 阅读 · 4 评论 -
Java8新特性——StreamAPI(二)
1. 收集器简介收集器用来将经过筛选、映射的流进行最后的整理,可以使得最后的结果以不同的形式展现。collect方法即为收集器,它接收Collector接口的实现作为具体收集器的收集方法。Collector接口提供了很多默认实现的方法,我们可以直接使用它们格式化流的结果;也可以自定义Collector接口的实现,从而定制自己的收集器。这里先介绍Collector常用转载 2017-11-18 14:11:00 · 215 阅读 · 0 评论