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 ...
随机推荐
- 处理 unassigned shard
#查看所有分片 GET _cat/shards curl 10.1.2.2:9200/_cat/indices/iis_log* #查看索引的分片状态 #查看第一个unassigned shard的 ...
- 【python爬虫】每天统计一遍up主粉丝数!
目录 每天统计一遍up主粉丝数! 第一步,爬取up主的粉丝信息 1.首先导入需要的包 2.为了方便,把它写成一个函数 3.那么就调用一下这个函数吧! 4.运行一下,成功啦! 第二,说好的每天统计一遍呢 ...
- 英语lasurite青金石lasurite单词
lasurite青金石的蓝色,是希望的颜色. 医药功效:青金石可入药,是世界公认的.青金即青金石,是一种不透明或半透明的蓝色.蓝紫色或蓝绿色的准宝石,主要由天蓝石和方解石组成.青金石色是藏传佛教中药师 ...
- 选美?作秀?MES系统的选择更应该从实际出发
MES选型不是做秀,不是选美. 如今不少企业在信息化推广应用过程中面面求好.追求完美,用意没错,然而在MES开发过程中,软件商不可能将今后各种可能出现的问题考虑周全,不可能将系统做到十全十美.随着系统 ...
- Kaldi语音识别快速入门
一.简介 Kaldi是使用C++编写的语音识别工具包,Apache License v2.0许可.主要供语音识别研究人员使用.Kaldi的目标和范围与HTK类似.目标是拥有易于修改和扩展的现代而灵活的 ...
- The Preliminary Contest for ICPC Asia Shenyang 2019 F. Honk's pool
题目链接:https://nanti.jisuanke.com/t/41406 思路:如果k的天数足够大,那么所有水池一定会趋于两种情况: ① 所有水池都是一样的水位,即平均水位 ② 最高水位的水池和 ...
- 【Cookie】java.lang.IllegalArgumentException An invalid character [32] was present in the Cookie value
创建时间:6.30 java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie va ...
- 剑指offer-08 二叉树的下一个节点
剑指offer第8题,本来想找leetcode上对应的题,后来没找到,直接去牛客网上刷了. 题目描述: 给定一个二叉树和其中的一个结点(pNode),请找出中序遍历顺序的下一个结点并且返回.注意,树中 ...
- django url注册器组件, 响应器组件, 分页器组件
一.url注册器的使用 1.1导入模块 from django.urls import re_path, include from .serializer import views from rest ...
- vue2.0 实现导航守卫(路由守卫)---登录验证
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...