Java 8 新特性概述

本文介绍了Java 8的重要特性,包括Optional类用于避免空指针异常,方法引用以简化语法,Lambda表达式实现函数式编程,Stream API提供高效数据处理,以及默认方法和@FunctionalInterface增强接口功能。
摘要由CSDN通过智能技术生成

前言

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。
Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。

java8-feature

  • Optional 类 : Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。

  • 方法引用 : 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。

  • Lambda 表达式 : Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。

  • Stream API : 新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。

  • 默认方法 : 默认方法就是一个在接口里面有了一个实现的方法。为了解决接口的修改与现有的实现不兼容的问题。

  • @FunctionalInterface : 函数式接口, 一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口

Optional

概念
  • Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
  • Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测
  • Optional 类的引入很好的解决空指针异常

主要API

  • T get() : 如果在这个Optional中包含这个值,返回值,否则抛出异常:NoSuchElementException.

  • Optional filter(Predicate<? super predicate) : 如果值存在,并且这个值匹配给定的 predicate,返回一个Optional用以描述这个值,否则返回一个空的Optional

  • boolean isPresent() : 如果值存在则方法会返回true,否则返回 false。

  • Optional map(Function<? super T,? extends U> mapper) : 如果有值,则对其执行调用映射函数得到返回值。如果返回值不为 null,则创建包含映射返回值的Optional作为map方法返回值,否则返回空Optional。

  • static Optional ofNullable(T value) : 如果为非空,返回 Optional 描述的指定值,否则返回空的 Optional

  • T orElse(T other) : 如果存在该值,返回值, 否则返回 other

实例

返回值

public Optional<Admin> getOptionalAdmin(int id) {
       // Optional.ofNullable - 允许传递为 null 参数
       return Opt
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值