Java8 新特性

接口的默认方法

Java8使用default向接口添加默认方法。
java8新特性

实现接口的其他方法后,default方法就可以直接使用

Lambda表达式

List<String>names=Arrays.asList("peter","anna","mike","xenia");
names.sort((a,b)->b.compareTo(a));//箭头前面是参数,后面是方法体

函数式接口

暂无

Lamda 表达式作用域

我们可以直接在 lambda 表达式中访问外部的局部变量,需满足一下条件:

  • 变量为final类型
  • 变量若不是final,lamda表达式以下未被修改值

lambda 表达式中无法访问默认方法

Streams

List和Set可用,Map不可用

  • Filter(过滤)
stringList.stream()
    .filter((s)->s.startswith("a"))
    .forEach(System.out::print1n);
  • Sorted(排序)
  • Map(映射) map返回的Stream类型是根据你map传递进去的函数的返回值决定的
stringList.stream()
    .map(String::toUpperCase)
    .sorted((a,b)->b.compareTo(a))
    .forEach(system.out::print1n);//这里的::表获取构造方法的引用
  • Match(匹配)
  • Count(计数)
  • Reduce(规约)
原文地址:https://www.cnblogs.com/qifengle1412/p/12743755.html