关于网站建设费用,微信商城官方入口,网站模版asp,京网站建设首选白龙马1、接口中默认方法修饰为普通方法
在jdk8之前#xff0c;interface之中可以定义变量和方法#xff0c;变量必须是public、static、final的#xff0c;方法必须是public、abstract的#xff0c;由于这些修饰符都是默认的。 接口定义方法: public抽象方法需要子类实现 接口定…1、接口中默认方法修饰为普通方法
在jdk8之前interface之中可以定义变量和方法变量必须是public、static、final的方法必须是public、abstract的由于这些修饰符都是默认的。 接口定义方法: public抽象方法需要子类实现 接口定义变量: public、static、final
在JDK 1.8开始支持使用static和default修饰可以写方法体。static和default方法可以定义多个。
实现类可以重写default方法不可以重写static方法static方法的调用必须使用[接口对象名.]调用
1.2、代码案例 2、Lambda表达式
2.1、什么是Lambda表达式
Java中使用Lambda表达式的规范必须是为函数接口 函数接口的定义:在该接口中只能存在一个抽象方法该接口称作为函数接口
Java中的Lambda表达式的规范必须是为函数接口。 函数接口的定义:在该接口中只能存在一个抽象方法该接口称作为函数接口
2.2、Lambda表达式的规范
使用Lambda表达式依赖于函数接口
1.在接口中只能够允许有一个抽象方法2在函数接口中定义 object类中方法3使用默认或者静态方法4.FunctionalInterface表示该接口为函数接口
3、Stream流
3.1、sorted排序 3.2、reduce并行计算 3.3、Max、Min取最大、最小 3.4、anyMatch判断集合是否含有某个元素 3.5、allMatch判断集合某个元素全部匹配 3.6、filter过滤 3.7、skiplimit实现分页 4、方法引入
方法引入需要结合 lambda表达式能够让代码变得更加精简。
静态方法引入 类名::静态方法名称对象方法引入 类名::实例方法名称实例方法引入 new对象 对象实例::方法引入构造函数引入 类名::new
需要遵循一个规范: 方法引入方法参数列表、返回类型与函数接口参数列表与返回类型必须要保持一致。|
4.1、静态方法引入 4.2、实例方法引入 4.3、构造方法引入 5、Optional
Optional类是一个可以为null的容器对象。如果值存在则 isPresent()方法会返回true调用get(方法会返回该对象。Optional 是个容器:它可以保存类型T的值或者仅仅保存null。Optional提供很多有用的方法这样我们就不用显式进行空值检测。Optional类的引入很好的解决空指针异常。
5.1、ofNullableOfisPresent判断参数是否为空
ofNullable(可以传递一个空对象)Of(不可以传递空对象)
5.2、get()获取元素 5.3、orElse为空值设置默认值 5.4、配合filter()使用 5.5、ifPresent值不为空则执行 5.6、orElseGet 6、时间日期API
6.1、传统时间格式化存在线程安全问题 6.2、LocalDate保证时间格式化线程安全 6.2、LocalDate、LocalTime、LocalDateTime
LocalDate、 LocalTime、 LocalDateTime类的实例是不可变的对象分别表示使用ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间并不包含当前的时间信息。也不包含与时区相关的信息。
lSO-8601日历系统是国际标准化组织制定的现代公民的日期和时间的表示法 6.3、Instant计算机读的时间
时间戳计算机读的时间(以Unix元年:1970年1月1日00:00:00到某个时间之间的毫秒值)
6.4、Duration计算[时间]间隔Period计算[日期]间隔 6.5、TemporalAdjuster时间矫正器
有时我们可能需要获取例如:将日期调整到“下个周日”等操作。
TemporalAdjusters :该类通过静态方法提供了大量的常用TemporalAdjuster的实现。 [ˈtempərəl] [əˈdʒʌstərz]
6.6、DateTimeFormatter 6.7、ZonedDate、ZonedTime、ZonedDateTime时区的处理 7、重复注解