Java8实战——自己的总结
java8 介绍
java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本。
在jdk1.8中,java8以添加非常多的新特性,比如Lamdba表达式,函数式接口,新的时间API,流表达式Steam()...等,非常的多。我下面写的所有关于java8的新特性大部分都是参考《jaav8实战》这本书写的。
《java8实战》这一本书我自己看了一遍后,我感觉自己掌握了非常多的东西,但是当我用到的时候,只能想起来,foreach,sort,等几个非常少的应用。大部分书中教的东西都没用到。如果想用某一个新特性,还得再去翻书,所以在这里我准备整理一下最近学习的java8新特性并且写成博客,方便以后用的时候查看。
Java8中的新特性
默认方法
Java8里面加入默认方法这一个新特性就是因为,Java8里面加入了非常多的方法和接口,并且把原有的接口也都加入了新的方法,但是如果只是在接口里面加入了新的方法,没有默认方法,那么以前用java8以前的jdk写的代码全部都要实现所有新的方法。加入了默认方法。>>
函数式接口
标准的函数式接口都有一个这样的注解:
@FuntionalInterface
加入这个注解以后,接口里面只能有一个抽象法。因为编译器在扫描到这个注解以后就自动检查接口里面有多小个抽象方法,如果不是只有一个那么就会报错。>>
Lamdba 表达式
Lamdba表达式,可以看作成匿名类的简写,并且函数式接口就是主要支持Lamdba的。并且Lamdba是java8新特性的一个非常重要的核心。>>
方法引用
方法引用让你可以重复使用现有的方法定义,并且用Lamdba来传递他们,方法引用可以看作是一种仅仅调用特定方法的Lamdba表达式的快捷写法。>>
Stream API
集合是Java中使用的最多的API,每一个程序都需要用到集合,并且让集合来处理数据,但是在处理集合数据的时候,用外部循环非常的麻烦,这个时候,Stream API 就是用来处理这个麻烦的。用Stream API 是非常的方便。>>
Optional 类
Optional 类的是来自谷歌Guava的启发,然后就加入到Java8新特性中去了。Optional类主要就是为了避免空指针异常。>>
Date Time API
这个新的时间API的作用就是代替以前的java.util.Data类,它解决了以前的java.util.Data类里面非常多的问题。>>
细节决定成败!
个人愚见,如有不对,恳请扶正!
Java8实战——自己的总结的更多相关文章
- java8实战:filter的简单使用
<JAVA8实战>中的例子 要实现的功能:通过Apple的color或weight属性,对List<Apple>进行筛选. 1.首先定义com.owl.entity.Apple ...
- Java8实战及自己的总结
java8 介绍 java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本. 在jdk1.8中,java8以添加非常多的新特性, ...
- Java8实战分享
虽然很多人已经使用了JDK8,看到不少代码,貌似大家对于Java语言or SDK的使用看起来还是停留在7甚至6. Java8在流式 or 链式处理,并发 or 并行方面增强了很多,函数式的风格使代码可 ...
- Java的演化-Java8实战笔记
一个语言要想一直有活力,它也需要跟随着时代的变化去进步,Java作为一个古老的语言,它其实有太多的历史包袱,在改变的过程中需要考虑很多,但是它也在慢慢的演变,巩固自己的城墙,不让自己被遗忘在历史中(不 ...
- java8实战二------lambda表达式和函数式接口,简单就好
一.Lambda 可以把Lambda表达式理解为简洁地i表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表.函数主体.返回类型,可能还是一个可以抛出的异常列表. 听上去,跟我们用的匿名类,匿名 ...
- java8实战一------解决冗杂,java8真的很便利(抛砖)
你的代码很容易因为需求而变化,对自己代码改来改去的你一定会觉得烦的.在我看来,java8很容易的解决了这个问题. 先来看看例子!在一堆苹果里,筛选绿色的苹果.当然,Apple类是这样子. class ...
- Java8实战系列一
从java7到java8,最主要的变化可以总结为 □Lambda表达式 □ 方法引用 □流和默认方法 让我们通过一个小例子感受一下 情景 1 集合对象排序 (对list中的苹果按照重量排序) Coll ...
- 读书笔记,《Java8实战》第一章,为什么要关心 Java8
开篇作者就提出,Java8所做的改变在许多方面比java历史上任何一次改变都深远.而且好消息是,这些改变会让你编辑程序来更容易,再也不用写类似类似于以前的swing中的事件处理函数的啰嗦代码了. ...
- Java8实战,
Supplier 1, @FunctionalInterfacepublic interface Supplier<T> { 2, T get(); 3, Supplier<A ...
随机推荐
- 四:net core(.NET 6)使用Filter过滤器拦截webapi方法
Filter的基本用法 代码在最下方 使用filter过滤器,来实现拦截接口信息.咱们先新建一个项目,在原有的webapi上面,选择添加项目,添加一个类库项目: 我起个名字,就叫 Wsk.Core.F ...
- Python+Selenium - windows安全中心的弹窗(账号登录)
当出现如下图所示的 Windows安全中心弹窗,需要输入用户名和密码时 如何用Python+selenium跳过这个登录. 步骤: 1.在注册表中三个位置各添加两个东西:iexplore.exe 和 ...
- 深入浅出Promise
Abstract Promise的意思是承诺(在红宝书中翻译为期约),新华字典:(动)对某项事务答应照办. Promise最早出现在Commn JS,随后形成了Promise/A规范. Promise ...
- ARM CPU自动调度神经网络
ARM CPU自动调度神经网络 对特定设备和工作负载进行自动调度,对于获得最佳性能至关重要.通过RPC使用自动调度器为ARM CPU调度整个神经网络. 为了自动调度神经网络,将网络划分为小的子图,进行 ...
- 如何选择视觉CV光源颜色
如何选择视觉CV光源颜色 一.光源颜色分类 光源颜色的选择对机器视觉光源有什么影响及意义呢,常用的光源颜色有白色(W).蓝色(B).红色(R).绿色(G).红外光(IR).紫外光(UV),这六种颜色. ...
- H.265 HD 和H.265 4K Video Encoder IP Core
H.265 HD 和H.265 4K Video Encoder IP Core H.265 HD Video Encoder IP Core(H.265 HD Video/Audio Encoder ...
- JUC 并发编程--01,线程,进程,经典卖票案例, juc的写法
进程: 就是一个程序, 里面包含多个线程, 比如一个QQ程序 线程: 进程中最小的调度单元, 比如 QQ中的自动保存功能 并发: 多个线程操作同一资源, 抢夺一个cpu的执行片段, 快速交替 并行: ...
- 【python学习小知识】求绝对值和numpy和tensor的相互转换
一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...
- Spring Security 快速上手
Spring Security 框架简介 Spring Security 说明 Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案 关于安全方面的两 ...
- Centos 安装 Influxdb + Chronograf
安装 Influxdb 1:下载安装包 官网下载地址 https://portal.influxdata.com/downloads/# wget https://dl.influxdata.com ...