Jdk1.8新特性 - Optional

一、說明

    Optional 是一個容器,它可以保存類型 T 或爲 null 的 值 的容器

    Optional 提供了很多方法對值進行檢測,可以很好的解決空指針異常

二、示例

    // 返回一個指定非空值的Optional,參數爲null拋出空指針
    Optional<String> optional = Optional.of("JavaOptional");
    
    // 非空則返回指定值的Optional,否則返回描述爲空的Optional
    Optional<String> optional = Optional.ofNullable(null);
    
    
    // 判斷是否有值,即不爲null
    boolean present = optional.isPresent();
    
    // 如果值不爲空,就執行Lambda表達式
    optional.ifPresent( opt -> System.out.println(opt) );
    
    // 如果有值,則返回值,如果等於空則拋異常
    String value = optional.get();
    
    //如果值存在則返回值,否則返回指定的默認值
    String str = optional.orElse("Default String");
    
    // 如果值存在且和給定的斷言匹配則返回該值描述的Optional,否則返回一個描述爲空的Optional
    Optional<String> optional = optional.filter((opt) -> opt.length() < 20);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章