java 8的新特性:
java 8的日期:Date
java 8后有的:LocalDate(日期)
:LocalTime(时间)
:LocalDateTime(日期时间)
获取当前日期(年月日):LocalDate.now();
创建一个指定日期的对象LocalDate.of(2018.6.6);
在java 8后的日期时间要用LocalDate
指定日期格式:DataTimeFormatter format=dataTimeFormatter.ofPattern(“yyyy年MM月dd日”);
String str=format.format(today);
获取当前时间(年月日时分秒)LocalDateTime.now();
格式化时间日期的对象 DateTimeFormatter.ofPattern(“yyyy年MM月dd日 HH时mm分ss秒”);
创建指定时间(时,分,秒)LocaTime.of(12,23,50);
Lambda表达式(java 8中新加的表达式):
Lambda表达式的作用:简化代码
Lambda是一个简化的内部类
Comparator com=(o1,o2)->o2.compareTo(o1);
set strs=new TreeSet<>(com);
strs.add(“bb”);
strs.add(“aa”);
strs.add(“cc”);
System.out.println(strs);
抽象方法的形参->方法体
使用Lambad表达式的接口只能有一个抽象方法(这种接口我们叫函数式接口)
1.没有参数,写个括号
ShouInfo ()->System.out.println(“我是谁谁”);
2.只有一个参数,直接写参数
ShouInfo n->System.out.println(“我是谁谁”);
3.有多个参数,写括号加参数(a,b)
4方法体只有一行直接写代码
ShouInfo ()->System.out.println(“我是谁谁”);
5.方法体有多行,写完整的方法体
comparatorcom=(o1,o2)->{
System.out.println(“哈哈”);
return o2.compareTo(o1);
}
6.如果有现成的静态方法完成方法体,则不需要箭头和参数,直接使用::调用方法
System.out::println;
实现接口的时候要实现接口里面的所有方法
@FunctionInterface可以用于检查一个接口是不是函数式接口
常用接口:
Consumer void accept(T t);
BiConsumer void accept(T t,R,r);
Function T apply(R r);
BiFunction T apply(R r,U,u);
Supplier T get();