JDK8新特性
文章平均质量分 78
jdk1.8的新特性学习笔记整理
竟未曾年少轻狂
虽无好胜心理,却有不服输的精神
展开
-
Java8 新特性——其它
Java提供了一项新功能,您可以在其中获得任何方法或构造函数的形式参数的名称。java.lang.reflect包包含所有必需的类,例如Method和Parameter,可用于参数反射。Java提供了用于执行JavaScript代码的命令行工具jjs。您可以使用提供的方法对数据进行加密和解密。Parameter类提供有关方法参数的信息,包括其名称和修饰符。此类提供了三种不同的编码器和解码器,用于在每个级别上加密信息。Method类提供有关类或接口上的单个方法的信息。反射的方法可以是类方法或实例方法。原创 2022-12-15 15:27:19 · 752 阅读 · 0 评论 -
Java8 新特性——日期时间
方法名返回值类型备注getYear()int获取当前日期的年份getMonth()Month获取当前日期的月份对象int获取当前日期是第几月DayOfWeek表示该对象表示的日期是星期几int表示该对象表示的日期是这个月第几天int表示该对象表示的日期是今年第几天LocalDate修改当前对象的年份LocalDate修改当前对象的月份LocalDate修改当前对象在当月的日期boolean是否是闰年int这个月有多少天int。原创 2022-12-15 14:45:21 · 2081 阅读 · 0 评论 -
Java8 新特性——新增方法
Java提供了一个新的forEach() 方法来迭代元素。它在Iterable和Stream接口中定义。这是Iterable接口中定义的默认方法。扩展Iterable接口的集合类可以使用forEach循环来迭代元素。此方法采用单个参数,该参数是功能接口。因此,您可以将lambda表达式作为参数传递。}原创 2022-12-09 11:26:35 · 993 阅读 · 0 评论 -
Java8 新特性——默认方法
默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。我们只需在方法名前面加个 default 关键字即可实现默认方法。添加的默认方法,其所有的子类都默认继承,而无需重写。原创 2022-12-09 09:32:36 · 945 阅读 · 0 评论 -
Java8 新特性——函数式接口
@FunctionalInterface注解 该注解可以用来检测该接口是否为函数式接口,将该注解放在 接口定义的上方,如果接口是函数式接口,编译通过;如果不是,编译失败需要注意的是,即使不使用该注解,只要满足函数式接口的定义,这仍然是一个函数式接口,使用起来都一样。 作为返回值进行使用常用函数式接口Supplier接口接口仅包含一个无参的方法:,用来获取一个泛型参数指定类型的对象数据该接口被称为生产型接口,指定接口的泛型是什么类型,那么get方法就会产生什么类型的数据Consu转载 2022-12-08 10:42:23 · 488 阅读 · 0 评论 -
Java8 新特性——Stream流
流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。Stream(流)是一个来自数据源的元素队列并支持聚合操作和以前的Collection操作不同, Stream操作还有两个基础的特征:Stream提供以下功能:在 Java 8 中, 集合接口有两个方法来生成流:stream(原创 2022-12-08 10:03:01 · 991 阅读 · 0 评论 -
Java8 新特性——方法引用
当要传递给Lambda体的操作已经有实现方法,可以直接使用方法引用(实现抽象方法的列表,必须要和方法引用的方法参数列表一致)方法引用主要有三种语法格式:对象::实例方法类::实例方法类::静态方法注意1、Lambda体中调用方法的参数列表与返回值类型,要与函数式接口中抽象方法的函数列表和返回值类型保持一致!2、若Lambda参数列表中的第一参数是 实例方法的调用者,而第二个参数是实例方法的参数时,可以使用ClassName::method函数式接口参数列表和构造器参数列表要一致,该接口返回值类型也是构原创 2022-12-07 16:50:06 · 416 阅读 · 0 评论 -
Java8 新特性——Lambda 表达式
语法格式:(参数列表) -> {主体} Lambda表达式由三个组件组成。 lambda表达式的重要特征:注意点:案例1:参数 个数 案例2:ForEach循环案例3:创建线程 案例4:比较器 变量作用域lambda 表达式只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。也可以直接在 lambda 表达式中访问外层的局部变量: lambda 表达式的局部变量可以不原创 2022-12-07 16:02:54 · 176 阅读 · 0 评论