jdk1.8新特性

目录

Lambda表达式

函数式接口

*方法引用和构造器调用

Stream API

接口中的默认方法和静态方法

新时间日期API


参考:jdk1.8新特性

Lambda表达式

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),也可称为闭包,它是推动 Java 8 发布的最重要新特性。形式: () -> ();  即(参数列表)->return(表达式)

定义接口MyPredicate 
public interface MyPredicate <T> {
    boolean test(T t);
}

定义过滤方法,方法有一个参数为接口函数
public List<Product> filterProductByPredicate(List<Product> list,MyPredicate<Product> mp){
        List<Product> prods = new ArrayList<>();
        for (Product prod : list){
            if (mp.test(prod)){
                prods.add(prod);
            }
        }
        return prods;
    }

使用lambda表达式进行过滤

@Test
public void test4(){
      List<Product> products = filterProductByPredicate(proList, (p) -> p.getPrice() < 8000);
      for (Product pro : products){
          System.out.println(pro);
      }
  }

函数式接口

函数式接口的提出是为了给Lambda表达式的使用提供更好的支持。什么是函数式接口?简单来说就是只定义了一个抽象方法的接口(Object类的public方法除外),就是函数式接口,并且还提供了注解:

*方法引用和构造器调用

Stream API

接口中的默认方法和静态方法

新时间日期API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值