前言
创新互联建站一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站制作、网站设计、移动互联产品、网络营销推广服务为核心业务。十多年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。
Java 8是Java的一个重大版本,有人认为,虽然这些新特性领Java开发人员十分期待,但同时也需要花不少精力去学习。下面本文就给大家详细介绍了Java8中新特性Optional、接口中默认方法和静态方法的相关内容,话不多说了,来一起看看详细的介绍吧。
Optional
Optional 类(java.util.Optional
) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。
常用方法:
Optional.of(T t)
: 创建一个 Optional 实例。Optional.empty()
: 创建一个空的 Optional 实例。Optional.ofNullable(T t)
若 t 不为 null,创建 Optional 实例,否则创建空实例。isPresent()
: 判断是否包含值。orElse(T t)
: 如果调用对象包含值,返回该值,否则返回t。orElseGet(Supplier s)
:如果调用对象包含值,返回该值,否则返回 s 获取的值。map(Function f)
如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
flatMap(Function mapper)
与 map 类似,要求返回值必须是Optional。下面引用ImportNew的一段内容来告诉我们如何正确使用Optional。比如千万不要写成这样子:
public static String getName(User u) { Optionaluser = Optional.ofNullable(u); if (!user.isPresent()) return "Unknown"; return user.get().name; }