![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java8
YinXinLion
这个作者很懒,什么都没留下…
展开
-
JAVA8-Optional
如何为缺失的值建模原始的两种方式:Java8中引入了Optional类。java.util.Optional。变量存在时,Optional类只是对类简单封装。变量不存在时,缺失的值会被建模成一个“空” 的Optional对象,由方法Optional.empty()返回。Optional.empty()方法是一个静态工厂方法,它返回Optional类的特定单一实例。null和Optional.empty()没啥区别,就是防止出发nullException。代码中person引用的是Optio原创 2020-11-18 19:08:20 · 235 阅读 · 0 评论 -
JAVA8-接口的默认方法
传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库的设计者需要更新接口,向其中加入新的方法,这种方式就会出现问题。例如,给List接口加一个方法,那么所有实现类都需要实现这个方法。JAVA8为了解决这个问题,引入新的机制,支持在声明方法的同时提供方法。JAVA8允许在接口内声明静态方法。实现接口的类,如果不显式地提供该方法的具体实现,就会自动继承默认的实现。List<Integer>原创 2020-11-13 18:29:32 · 535 阅读 · 0 评论 -
JAVA8-Labmda重构与调试
interface Task{ public void execute(); } public static void doSomething(Runnable r){ r.run(); } public static void doSomething(Task a){ a.execute(); }如果写成这样doSomething(() -> System.out.println("Danger danger!!"));并不清楚用的哪个方法。可以改写成.原创 2020-11-12 19:47:35 · 228 阅读 · 0 评论 -
JAVA8-并行数据处理
1.将顺序流转换为并行流(生成1 - n,转为并行流)并行归纳操作如果想将并行流转为顺序流,可以使用sequential方法。流水线会并行执行,因为最后调用的是它。最后一次parallel或sequential调用会影响整个流水线。并行流内部使用了默认的ForkJoinPool,它默认的线程数量就是你的处理器数量。可以通过java.util.concurrent.ForkJoinPool.common. parallelism来改变线程大小共享可变状态会影响并行流以及并行计算,下面的代码原创 2020-11-10 17:59:13 · 679 阅读 · 0 评论 -
JAVA8-用流收集数据
Collector预定义方法预定义收集器1.获取流中元素个数2.查找流中的最大值和最小值Collectors.maxBy() Collectors.minBy()Collectors.summingInt Collectors.summingLong Collectors.summingDouble它可接受一个把对象映射为求和所需int的函数,并返回一个收集器;该收集器在传递给普通的collect方法后即执行我们需要的汇总操作。计算数值平均数:Collectors.averagi原创 2020-11-06 18:23:46 · 239 阅读 · 0 评论 -
JAVA8-stream
什么是流?流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。流还可以透明的并行处理,你无需写任何多线程代码了原创 2020-10-26 10:56:13 · 75 阅读 · 0 评论 -
JAVA8-Lambda表达式
前言行为参数化,是将方法作为参数进行传递,可以适应更多的需求变化。行为参数化中的方法参数,在JDK8之前可以使用匿名累来进行传递,也可以通过一个指定接口实现一个类来进行传递。总之,行为参数化传递代码有助于应对不断变化的需求。什么是Lambda表达式可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。Lambda表达式可以作为参数传递给方法或者存储在变量中。Lambda表达式分为三部分、1.参数原创 2020-10-22 18:34:56 · 1160 阅读 · 1 评论 -
JAVA8-了解新特性
相关概念1.流处理java增加了stream Api,可以将链接起来成为一个复杂流水线。处理流程类似于Linux的这样的命令cat file1 file2 | tr "[A-Z]" "[a-z]" | sort | tail -3先将file1流和file2流合并再交给tr进行字符处理,处理完的流交给sort排序,最后再取末尾的三行数据。2.用行为参数化把代码传递给方法Java8增加了把方法作为参数传递给另一个方法的能力。Stream API就是构建在通过传递代码使操作行为实现参数化的思想上原创 2020-09-27 18:15:25 · 111 阅读 · 0 评论