Java新特性
可变参数,例如 int ... data 等价于int [] data
foreach循环 for(int x:data)
静态导入:import static 包名.类名(之后使用导入类的静态方法可以省略类名)
泛型<>,在该使用泛型的地方不设置泛型则默认设置Object类为泛型
通配符?:解决泛型在参数传递过程中,泛型类型不确定的问题,例如:public void method(Message<?> message){}
设置泛型的上限/下限: T extend 类,设置上限,只能设置该类及其子类; T supper 类,设置下限,只能设置该类及该类的父类
(也可以使用通配符: ? extend 类,? supper 类)
泛型接口,泛型方法:用在接口和方法上的泛型,和用在类上同样道理,这里不做介绍了
枚举:本质就是多例设计模式的简化: enum Color{RED,GREEN,BLUE} 完整写法:
enum Color{
RED("红色"),GREEN("绿色"),BLUE("蓝色");
private String colorString;
private Color(String colorString){
this.colorString=colorString;
}
public String toString(){
return this.colorString;
}
}
注解: java注解请看我的这篇博客 https://blog.csdn.net/yh18668197127/article/details/85412670
Lambda表达式:本质上就是匿名内部类的简化写法,平时写写就用标准写法就行了,Lambda反而降低了代码的可读性
方法引用:方法引用理解起来就是一个接口引用另一个类的方法作为自己的方法,具体使用自行百度
内建函数式接口:方法引用中的接口类型就4种,具体使用自行百度
功能型接口@Function,接收一个参数处理后返回一个结果
消费型接口@Consumer,接收一个参数处理,不返回结果
供给型接口@Supplier,不接收参数,只返回结果
断言型接口@Predicate,返回结果为boolean型