java8 常用新特性

1、Lambda 表达式 (把代码当作参数)

  //定义了操作接口
public interface GreetingService {
void sayMessage(String message);
}
//声明接口的具体操作
GreetingService greetService1 = message -> System.out.println("Hello " + message);
//调用接口,使用功能
greetService1.sayMessage("java");
1、不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。
2、可以直接在 lambda 表达式中访问外层的局部变量
3、在 Lambda 表达式当中不允许声明一个与局部变量同名的参数或者局部变量。
2、方法的引用 直接引用已有Java类或对象(实例)的方法或构造器
java.util.function.Supplier(用来创建对象的,但是不同于传统的创建对象语法:new)
3、默认方法 ? 默认方法就是一个在接口里面有了一个实现的方法。
4、新工具 ? 新的编译工具
5、Stream API ?新添加的Stream API(java.util.stream)
Stream(流)是一个来自数据源的元素队列并支持聚合操作
数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。
聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。
parallelStream()//并行流
stream()//串行流
6、Date Time API ? 加强对日期与时间的处理。
LocalDateTime
ZonedDateTime
7、Optional 类,用来解决空指针异常。
Optional 类是一个可以为null的容器对象

原文地址:https://www.cnblogs.com/aiqixiansheng/p/10422608.html

时间: 2024-10-12 20:16:02

java8 常用新特性的相关文章

java8的新特性以及用法简介

1. 介绍 2 接口的默认方法 2 lambda表达式 2.1 函数式接口 2.2 方法与构造函数引用 2.3 访问局部变量 2.4 访问对象字段与静态变量 3. 内建函数式接口 3.1 Predicate接口 3.2 Function 接口 3.3 Supplier 接口 3.4 Consumer 接口 3.5 Comparator 接口 3.6 Optional 接口 3.7 Stream 接口 3.7.1 Filter过滤 3.7.2 Sort 排序 3.7.3 Map 映射 3.7.4

简单了解JAVA8的新特性

JAVA8新特性会颠覆整个JAVA程序员的编程习惯 甚至如果您坚守JAVA7之前的编程习惯,今后你看比较年轻的程序员写的JAVA代码都会无法理解 所以为了保证不脱钩,我觉得有必要学习JAVA8的新特性,况且,这会极大得提高CPU效率和编码效率 我们来简单了解一下JAVA8的新特性 我觉得主要有两个比较重要的,一是Lambda表达式,二是集合类的stream操作 关于这两点,我写了几个小DEMO,附上注释,应该能够迅速掌握 如果大家好奇更多的JAVA8新特性,请自行阅读更加专业的知识,敏捷开发不求

java8的新特性1

1.lambda表达式 2.函数式接口 3.StreamAPI 4.方法的引用与构造器的引用 5.接口中的默认方法与静态方法 6.新时间日期API 7.其他新特性 简介 java8的新特性 1.速度更快(内存结构.垃圾回收.并行拓展) 2.代码更少(新增新的语法lambda表达式) 3.强大的streamApI 4.便于并行 5.最大化减少空指针异常,optional lambda表达式 首先:lambda表达式是一个匿名函数,我们可以把lambda表达式理解为一段可以传递的代码(将代码像数据一

Java8部分新特性的学习

Java8中的新特性 一.Lambda表达式 Lambda表达式可以理解为一种可传递的匿名函数:它没有名称,但又参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表. 匿名:和匿名类类似的,它没有明确的名字 函数:Lambda函数不属于某个特定的类,但和方法一样都具有参数列表.函数主体.返回类型,还可以有抛出的异常列表 传递:Lambda表达式可以作为参数传递给方法或者存储在变量中. Lambda表达式的基本形式: (parameters)-> expression 或(paramete

java5、java6、java7、java8的新特性

Java5: 1.泛型 Generics:        引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处. Parameterized Type作为参数和返回值,Generic是vararg.annotation.enumeration.collection的基石. A.类型安全 抛弃List.Map,使用List<T>.Map<K,V>给它们添加元素或者使用Iterator<T>遍历时,编译期就可以给你检查出类型错误 B

Java8的新特性

Java 8主要新特性包括如下几点: 一.接口的默认方法和静态方法 Java 8版之前,接口只有抽象方法,而在Java 8,为接口新增了两种类型的方法. 第一种是默认方法:在Java 8中,可以通过使用default关键字来添加默认的方法实现. 接口的实现类可以直接使用这些默认的方法,同时还可以重写默认的方法,这不是强制性的重写. package demo.ch; public interface Java8InterfaceDemo { abstract void add(); default

H5常用新特性

html5新特性 [注意]这些新特性都有兼容性的问题,基本是IE9+以上版本的浏览器才支持,如果不考兼容性问题,可以大量使用这些新特性 html5新增的语义话标签 <header> :头部标签 <nav> 导航栏标签 <article> 内容标签 <section> 定义文档某个区域 <aside> 侧边栏标签 <footer> 尾部标签 [注意] 这种语义化标准主要是针对搜索引擎的 这些新标签页面中可以使用多次 在IE9中,需要把这

Java8的新特性,二进制序列转十进制数字

package kata_007_二进制序列转十进制int; /** * java8 Lambda表达式转换binary序列->十进制数 */ import java.util.ArrayList; public class ShortBinaryToDecimal { public static void main(String[] args) { ArrayList<Integer> binary = new ArrayList(); binary.add(1); binary.ad

es6的常用新特性

https://www.ctolib.com/topics-120840.html