<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 簡介 解決空指針異常的 `Optional<T>` 實際上是個容器: 它可以保存類型T的值,或者僅僅保存null. Optional提供很多有用的方法,這樣我們就不用顯示進行空值檢測. 這是一個可以為null的容器對象.如果值存在則isPresent()方法會返回true,調用get()返回該對象 ![](https://img.kancloud.cn/fe/07/fe0723708b180375ae58e712b568d792_733x378.png) # 常用方法 ~~~ Optional.of(T t) : 創建一個 Optional 實例 Optional.empty() : 創建一個空的 Optional 實例 Optional.ofNullable(T t):若 t 不為 null,創建 Optional 實例,否則創建空實例 isPresent() : 判斷是否包含值 T get(): 如果調用對象包含值,返回該值,否則拋異常 orElse(T t) : 如果調用對象包含值,返回該值,否則返回t orElseGet(Supplier s) :如果調用對象包含值,返回該值,否則返回 s 獲取的值 map(Function f): 如果有值對其處理,并返回處理后的Optional,否則返回 Optional.empty() flatMap(Function mapper):與 map 類似,要求返回值必須是Optional ~~~ # 例子 ~~~ //返回一個沒有封裝任何數據的Optional對象 // Optional<Object> op = Optional.empty(); // System.out.println(op); // // //isPresent():判斷內部的數據是否存在 // if(op.isPresent()){ // //get():返回Optional對象內部封裝的數據 // System.out.println(op.get()); // }else{ // System.out.println("內部木有數據"); // } System.out.println("**********************"); //of(T t):當t為null時,報異常。建議不用此方法 Optional<String> op = Optional.of("beijing"); // Optional<String> op = Optional.of(null); System.out.println(op); //isPresent():判斷內部的數據是否存在 if(op.isPresent()){ //get():返回Optional對象內部封裝的數據 System.out.println(op.get()); }else{ System.out.println("內部木有數據"); } System.out.println("**********************"); // Optional<String> op1 = Optional.ofNullable("beijing"); Optional<String> op1 = Optional.ofNullable(null); System.out.println(op1); //isPresent():判斷內部的數據是否存在 if(op1.isPresent()){ //get():返回Optional對象內部封裝的數據 System.out.println(op1.get()); }else{ // System.out.println("內部木有數據"); //orElse(T t):如果調用對象包含值,返回該值,否則返回t String str = op1.orElse("atguigu"); System.out.println(str); } System.out.println("**********************"); //總結:"beijing"位置的對象如果不為空,則返回此對象。如果為空,返回"shanghai"對應的對象。 //進而,通過使用Optional能夠規避空指針的異常。 Optional<String> op2 = Optional.ofNullable("beijing"); String str1 = op2.orElse("shanghai"); System.out.println(str1); ~~~ ~~~ Optional<Man> op = Optional.ofNullable(man); Man man1 = op.orElse(new Man(new Girl("佟老師")));//man1一定是非空的 Girl girl = man1.getGirl(); Optional<Girl> op1 = Optional.ofNullable(girl); Girl girl1 = op1.orElse(new Girl("蒼老師"));//girl1一定是非空的 return girl1.getName(); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看