<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 325,  comments - 25,  trackbacks - 0

    *
     * 一、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
     */
    public class TestOptional {
     
     @Test
     public void test4(){
      Optional<Employee> op = Optional.of(new Employee(101, "張三", 18, 9999.99));
      
      Optional<String> op2 = op.map(Employee::getName);
      System.out.println(op2.get());
      
      Optional<String> op3 = op.flatMap((e) -> Optional.of(e.getName()));
      System.out.println(op3.get());
     }
     
     @Test
     public void test3(){
      Optional<Employee> op = Optional.ofNullable(new Employee());
      
      if(op.isPresent()){
       System.out.println(op.get());
      }
      
      Employee emp = op.orElse(new Employee("張三"));
      System.out.println(emp);
      
      Employee emp2 = op.orElseGet(() -> new Employee());
      System.out.println(emp2);
     }
     
     @Test
     public void test2(){
      /*Optional<Employee> op = Optional.ofNullable(null);
      System.out.println(op.get());*/
      
    //  Optional<Employee> op = Optional.empty();
    //  System.out.println(op.get());
     }

     @Test
     public void test1(){
      Optional<Employee> op = Optional.of(new Employee());
      Employee emp = op.get();
      System.out.println(emp);
     }
     
     @Test
     public void test5(){
      Man man = new Man();
      
      String name = getGodnessName(man);
      System.out.println(name);
     }
     
     //需求:獲取一個男人心中女神的名字
     public String getGodnessName(Man man){
      if(man != null){
       Godness g = man.getGod();
       
       if(g != null){
        return g.getName();
       }
      }
      
      return "蒼老師";
     }
     
     //運用 Optional 的實體類
     @Test
     public void test6(){
      Optional<Godness> godness = Optional.ofNullable(new Godness("林志玲"));
      
      Optional<NewMan> op = Optional.ofNullable(new NewMan(godness));
      String name = getGodnessName2(op);
      System.out.println(name);
     }
     
     public String getGodnessName2(Optional<NewMan> man){
      return man.orElse(new NewMan())
          .getGodness()
          .orElse(new Godness("蒼老師"))
          .getName();
     }

    posted on 2018-03-06 08:42 長春語林科技 閱讀(149) 評論(0)  編輯  收藏 所屬分類: java8
    <2018年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

     

    長春語林科技歡迎您!

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 三年片在线观看免费大全电影 | 国产精品亚洲综合网站| 真人做A免费观看| 亚洲国产成人精品无码区在线网站| 最近高清中文字幕免费| 亚洲成在人天堂在线| 久久久精品2019免费观看| 久久精品国产精品亚洲毛片| 91精品导航在线网址免费| 亚洲精品美女在线观看| 日韩免费精品视频| 亚洲第一第二第三第四第五第六 | 国产精品免费视频观看拍拍| 亚洲人成无码网WWW| 国产性生大片免费观看性| 亚洲无删减国产精品一区| 男女免费观看在线爽爽爽视频| 亚洲已满18点击进入在线观看| 成年美女黄网站18禁免费| 亚洲av无码成人精品区一本二本 | 黄色免费网站网址| 亚洲真人无码永久在线观看| 国产一区二区三区无码免费| av午夜福利一片免费看久久| 亚洲日本在线观看| 妞干网免费视频在线观看| 日韩在线观看免费| 亚洲精品线在线观看| 四虎影院免费在线播放| 成人免费夜片在线观看| 91亚洲国产在人线播放午夜| 天天拍拍天天爽免费视频| 一级毛片试看60分钟免费播放| 亚洲天天在线日亚洲洲精| 国产特级淫片免费看| 叮咚影视在线观看免费完整版| 亚洲国产系列一区二区三区| 久久久久亚洲av毛片大| 麻豆视频免费播放| 人妖系列免费网站观看| 亚洲一级毛片在线观|