jdk8 有哪些新特性?
Lambda表达式
提供了一种简洁的方式来表示匿名方法(即没有名称的方法)。Lambda表达式可以用来创建仅有一个抽象方法的接口的实例,这种接口被称为函数式接口。
优点:
简化代码:Lambda表达式允许我们使用更简洁的方式表示匿名函数,减少了代码的冗余和复杂性
函数式编程风格:支持函数式编程,使得代码更加容易理解和维护。
提高可读性:通过减少样板代码,提高了代码的可读性和可维护性
Stream API
Stream API是对集合操作的一种高级抽象,这个API可以看作迭代器(Iterator)的一个高级版本,它允许你以声明性的方式处理数据集合。Stream Api支持顺序和并行两种模式的数据处理。Stream操作主要分两种:
1.中间操作:这些操作都是惰性化的,意味着它们不会立即执行,只有在遇到终端操作时,才会执行。中间操作会返回一个新的Stream,允许多个中间操作可以链接起来。常见的中间操作包括filter,map,flatMap,distinct,sorted,peek,limit,skip等。
2.终端操作:这些操作会从Stream产生结果或者副作用。当执行终端操作时,Stream操作实际上会被执行,并且之后不能再被使用。常见的终端操作包括forEach,ForEachOrdered,toArray,reduce,collect,min,max,count,anyMatch,allMatch,noneMatch,findFirst,findAny等。
优点:
声明式编程:Stream API提供了声明式编程风格,使得对集合的处理更加直观和简洁。<