jdk1.8新特性

  1. java8允许我们给接口添加一个非抽象的方法,实现只需要使用default关键字即可,这个特征又叫做扩展方法。
  2. lambda表达式是一种简洁的语法,实际上是一个匿名函数,所有的lambda表达式都是用新的lambda运算符 “ => ” , 可以叫他“ 转到 ”或者“ 成为 ”。运算符将表达式分为两部分,左边指定指定输入参数,右边是lambda的主体,lambda表达式返回右边表达式的结果。
  3. 方法与构造函数引用:java8允许你使用 :: 关键字来传递方法或者构造函数引用。(class :: new表示引用构造方法)
  4. 函数式接口:lambda表达式映射到一个单方法的接口上,函数式接口是指仅仅只包含一个抽象方法的接口,定义了这种类型的接口使得以其为参数的方法。可以在调用时使用一个lambda表达式作为参数,也就是说在父类引用子类对象时,= 右边可以直接通过lambda表达式实现这个接口的唯一抽象方法,每一个该类型的lambda表达式都会匹配到这个抽象方法。
 @FunctionalInterface
 interface Converter<F,T>{
       T convert(F from);
 }
 Converter<String,Integer> converter = (from) -> Integer.valueOf(from);
 Integer converted = converter.convert("123")
 System.out.printlnl(convertered) //123
 
  1. 访问局部变量,我们可以直接在lambda表达式中访问外层的局部变量。
final int num = 1;
Converter<Integer,String> stringConverter = (from) -> String.valueOf(from + num);
stringConverter.convert(2);    //3
  1. hashmap中添加了红黑树的结构,,在冲突较多的情况下提高了查询时的性能。更多特性描述见此
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值