Optinal

空指针异常是导致Java应用程序失败的最常见原因,JDK8引入Optional类用来检查空值,它实际上是个容器,可以保存类型为T的值,或者仅仅保存null。

创建方式

  • Optional.of(T value),返回一个Optional对象,value不能为空,否则会抛出空指针异常
  • Optional.ofNullable(T value),返回一个Optional对象,value可以为空
  • Optional.empty(),代表空

常见API

  • optional.isPresent(),是否存在值
  • optional.ifPresent(Consumer<? super T> consumer),如果存在值则执行consumer
  • optional.get(),获取value
  • optional.orElse(T other),如果没值则返回other
  • optional.orElseGet(Supplier <? extends T> other),如果没值则执行ohter并返回
  • optional.orElseThrow(Supplier <? extends X> exceptionSupplier),如果没值则执行exceptionSupplier,并抛出异常

以前防止空值出现通常会用null判断

  1. public String getOrderName(Order order ) {
  2. if (order == null) {
  3. return null;
  4. }
  5. return order.name;
  6. }

有了optional之后:

  1. public String getOrderName(Order order ) {
  2. return Optional.ofNullable(order).map(order1 -> order1.name).orElse(null);
  3. }

14 综合

控制台编译访问Java文件

有如下的一个java类文件,其有一个main入口

  1. public class Fly {
  2. public static void main(String[] args) {
  3. System.out.println(123);
  4. }
  5. }

使用cmd控制台先编译javac Fly.java,此时将生成Fly.class二进制文件
Java其他 - 图1
再使用java Fly运行刚才编译的二进制文件
Java其他 - 图2
文件目录结构如下:
Java其他 - 图3

如何在IDEA中导入jar包

https://blog.csdn.net/yinyanyao1747/article/details/90751024
新建包文件夹lib(为package类型)
复制jar包
右键:add as library