函数式编程(Java 8)
在Java 8中,功能编程和lambda被添加为语言功能。函数式编程的两个核心范例是不变的值和将函数提升为一等公民的方法。数据经过一系列修改步骤,其中每个步骤都需要一些输入并将其映射到新的输出。函数式编程可与Java中的Streams和null安全monad(可选)一起使用,如下所示…
List stringList = Arrays.asList("Hello", "World", "How", "Are", "You", "Today");
//functional style
stringList.stream()
.filter(s -> s.equals("Hello") || s.equals("Are"))
.map(s -> s + " String")
.forEach(System.out::println);
流(Java 8)
对于一般的计算机程序,通常必须使用值列表,并对每个值执行给定的转换。在Java 8之前,您必须使用for循环进行此转换,但是从现在开始,您可以按以下方式使用Streams:
Stream.of("hello", "great")
.map(s -> s + " world")
.forEach(System.out::println);
> hello world
> great world
map函数将一个lambda作为输