
java8
Angus博客
知足长乐,助人为乐,自得其乐。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java8新特性五:方法引用(双冒号 ::)
方法引用在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?...原创 2020-10-29 20:07:55 · 2772 阅读 · 4 评论 -
Java8新特性四:Stream流
Stream流说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。1.1 引言传统集合的多步遍历代码几乎所有的集合(如Collection 接口或Map 接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。例如:package com.wsj.java原创 2020-10-26 20:52:56 · 792 阅读 · 0 评论 -
Java8新特性一:Lambda Expressions(Lambda 表达式)
Lambda介绍Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式的结构 一个 Lambda 表达式可以有零个或多个参数 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int a)与(a)效果相同 所有参数需包含在圆括号内,参数之间用逗号相隔。例如:(a, b) 或 (i原创 2020-10-25 20:19:52 · 555 阅读 · 0 评论 -
Java8新特性二:Functional Interfaces(函数式接口,函数式编程)
1.函数式接口1.1 概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。1.2 格式只要确保接口中有且仅有一个抽象方法即可:列子:package com.wsj.java8.functional;/** * @ClassName MyFunction原创 2020-10-25 20:20:41 · 934 阅读 · 0 评论 -
Java8新特性三:常用的函数式接口(Supplier,Consumer,Predicate,Function)
JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在java.util.function 包中被提供。下面是最简单的几个接口及使用示例。Supplier接口java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get() 。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。实例:实战:求数组元素最大值Con.原创 2020-10-26 20:06:35 · 1995 阅读 · 0 评论