成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

在java8stream表達式實現(xiàn)if/else邏輯的方法

這篇文章主要講解了在java 8 stream表達式實現(xiàn)if/else邏輯的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

我們提供的服務有:網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、圖們ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的圖們網(wǎng)站制作公司

簡介

在Stream處理中,我們通常會遇到if/else的判斷情況,對于這樣的問題我們怎么處理呢?

還記得我們在上一篇文章lambda最佳實踐中提到,lambda表達式應該越簡潔越好,不要在其中寫臃腫的業(yè)務邏輯。

接下來我們看一個具體的例子。

傳統(tǒng)寫法

假如我們有一個1 to 10的list,我們想要分別挑選出奇數(shù)和偶數(shù)出來,傳統(tǒng)的寫法,我們會這樣使用:

  public void inForEach(){
    List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    ints.stream()
        .forEach(i -> {
          if (i.intValue() % 2 == 0) {
            System.out.println("i is even");
          } else {
            System.out.println("i is old");
          }
        });
  }

上面的例子中,我們把if/else的邏輯放到了forEach中,雖然沒有任何問題,但是代碼顯得非常臃腫。

接下來看看怎么對其進行改寫。

使用filter

我們可以把if/else的邏輯改寫為兩個filter:

List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    Stream<Integer> evenIntegers = ints.stream()
        .filter(i -> i.intValue() % 2 == 0);
    Stream<Integer> oddIntegers = ints.stream()
        .filter(i -> i.intValue() % 2 != 0);

有了這兩個filter,再在filter過后的stream中使用for each:

evenIntegers.forEach(i -> System.out.println("i is even"));
oddIntegers.forEach(i -> System.out.println("i is old"));

怎么樣,代碼是不是非常簡潔明了。

看完上述內(nèi)容,是不是對在java 8 stream表達式實現(xiàn)if/else邏輯的方法有進一步的了解,如果還想學習更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:在java8stream表達式實現(xiàn)if/else邏輯的方法
標題鏈接:http://jinyejixie.com/article48/ijjchp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、域名注冊、做網(wǎng)站、標簽優(yōu)化、自適應網(wǎng)站關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
惠来县| 绿春县| 包头市| 轮台县| 乌恰县| 兴隆县| 桐乡市| 洪江市| 西和县| 曲水县| 虞城县| 安国市| 宁明县| 红桥区| 日喀则市| 黄平县| 巨野县| 平谷区| 博爱县| 阿克苏市| 沐川县| 抚顺市| 舞钢市| 玛曲县| 乌苏市| 怀安县| 清水河县| 青川县| 台北县| 苗栗市| 安西县| 韩城市| 东乡| 辛集市| 虎林市| 武邑县| 印江| 库车县| 马龙县| 丰都县| 浏阳市|