1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      Java8中java.util.Optional如何使用

      這期內容當中小編將會給大家?guī)碛嘘PJava 8中java.util.Optional如何使用,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

      10多年的滄縣網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整滄縣建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“滄縣網站設計”,“滄縣網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

      Optional 主要用來判斷是否為空,在Optional之前,我們只要使用StringUtils的工具類來判斷傳入的參數是否為空。現在我們可以使用 Optional 來替代它了。

      Java 8中java.util.Optional如何使用

      Optional.of(Object object)

      Optional.of(Object object):入參object不能為空,否則會拋出空指針異常。它最終調用的是Objects.requireNonNull方法。

      1

      2

      3

      4

      5

      public static T requireNonNull(T obj) {

          if (obj == null)

              throw new NullPointerException();

          return obj;

      }

      Optional.ofNullable(Object object)

      Optional.ofNullable(Object object):入參object可以為空,如果object不為空,就創(chuàng)建一個Optional實例;如果object為空就返回一個static fainal的Option對象,注意這里不會新建Option實例,而是使用一個static final的實例EMPTY,這里比較有意思的是泛型的問題,例如我需要兩個Optional對象,類型分別是String和Integer。

      1

      2

      Optional optionalStr = Optional.ofNullable(null);

      Optional optionalInt = Optional.ofNullable(null);

      類型不同又如何保證返回同一個對象呢?直接看ofNullable的源碼,發(fā)現會調用empty方法:

      1

      2

      3

      4

      5

      public static Optional empty() {

          @SuppressWarnings("unchecked")

          Optional t = (Optional) EMPTY;

          return t;

      }

      原來是通過強制轉換實現的,再看EMPTY對象:

      1

      private static final Optional EMPTY = new Optional<>();

      Optional.empty()

      Optional.empty():就是上面分析Optional.ofNullable的時候用到的empty方法,直接返回一個static final的實例EMPTY;

      Optional.of()方法的用法有點像斷言,對象為空的時候代表著某種業(yè)務上不可接受的異常,需要盡早處理,并且業(yè)務拒絕執(zhí)行,這種場景下可以使用Optional.of;

      下面來一起看一個例子。

      User 實體類代碼如下:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      public class User {

          private int id;

          private String name;

          private int age;

          public User(int id, String name, int age) {

              this.id = id;

              this.name = name;

              this.age = age;

          }

      }

      用Optional來避免空異常問題。

      1

      2

      3

      4

      5

      6

      public User getStudent(int id){

          User user = null;

          Optional optional = Optional.ofNullable(user);

          return optional.orElse(DEFAULT);

      }

      orElse方法可以指定一個value為空時的返回對象,如果這個對象需要調用方法才能獲取(例如我們拿不到DEFAULT對象,要通過getDefault()方法才能拿到),這是就需要orElseGet方法來達到目的,如下:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      private User getDefault(){

          return DEFAULT;

      }

      public User getStudent(int id){

          User user = null;

          Optional optional = Optional.ofNullable(user);

          return optional.orElseGet(() -> getDefault());

      }

      上述就是小編為大家分享的Java 8中java.util.Optional如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      當前名稱:Java8中java.util.Optional如何使用
      文章URL:http://www.ef60e0e.cn/article/pjedeh.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        乐业县| 重庆市| 白山市| 白玉县| 邵阳市| 腾冲县| 梨树县| 成都市| 香港 | 广昌县| 威海市| 砚山县| 逊克县| 博乐市| 克什克腾旗| 奈曼旗| 福州市| 建湖县| 济阳县| 定陶县| 湖南省| 航空| 阿坝县| 密云县| 灌阳县| 色达县| 岳西县| 青浦区| 夏河县| 靖江市| 资兴市| 浏阳市| 宜宾县| 大同县| 安仁县| 惠安县| 札达县| 密云县| 冕宁县| 广宁县| 潢川县|