中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Java函數(shù)式接口Supplier接口實(shí)例詳解

這篇文章主要介紹了Java函數(shù)式接口Supplier接口實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),朝陽縣企業(yè)網(wǎng)站建設(shè),朝陽縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,朝陽縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,朝陽縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

JDK提供了大量常用的函數(shù)式接口以豐富Lambda的典型使用場景,它們主要在 java.util.function 包中被提供。 下面是最簡單的Supplier接口及使用示例。

Supplier接口概述

// Supplier接口源碼


@FunctionalInterface
public interface Supplier<T> {

  /**
   * Gets a result.
   *
   * @return a result
   */
  T get();
}

java.util.function.Supplier<T> 接口僅包含一個(gè)無參的方法: T get() 。用來獲取一個(gè)泛型參數(shù)指定類型的對(duì)象數(shù)據(jù)。由于這是一個(gè)函數(shù)式接口,這也就意味著對(duì)應(yīng)的Lambda表達(dá)式需要“對(duì)外提供”一個(gè)符合泛型類型的對(duì)象數(shù)據(jù)。如:

import java.util.function.Supplier;

public class Demo01Supplier {
  public static void main(String[] args) {
    String msgA = "Hello ";
    String msgB = "World ";
    System.out.println(
        getString(
            () -> msgA + msgB
        )
    );
  }

  private static String getString(Supplier<String> stringSupplier) {
    return stringSupplier.get();
  }
}

控制臺(tái)輸出:

Hello World

練習(xí):求數(shù)組元素最大值

使用 Supplier 接口作為方法參數(shù)類型,通過Lambda表達(dá)式求出int數(shù)組中的最大值。接口的泛型使用 java.lang.Integer 類。

import java.util.function.Supplier;

public class DemoNumberMax {
  public static void main(String[] args) {
    int[] numbers = {100, 200, 300, 400, 500, -600, -700, -800, -900, -1000};
    int numberMax = arrayMax(
        () -> {
          int max = numbers[0];
          for (int number : numbers) {
            if (max < number) {
              max = number;
            }
          }
          return max;
        }
    );
    System.out.println("數(shù)組中的最大值為:" + numberMax);
  }

  /**
   * 獲取一個(gè)泛型參數(shù)指定類型的對(duì)象數(shù)據(jù)
   * @param integerSupplier 方法的參數(shù)為Supplier,泛型使用Integer
   * @return 指定類型的對(duì)象數(shù)據(jù)
   */
  public static Integer arrayMax(Supplier<Integer> integerSupplier) {
    return integerSupplier.get();
  }
}

控制臺(tái)輸出:

數(shù)組中的最大值為:500

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站欄目:Java函數(shù)式接口Supplier接口實(shí)例詳解
文章起源:http://www.rwnh.cn/article32/pcoepc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站策劃、品牌網(wǎng)站建設(shè)、小程序開發(fā)、電子商務(wù)、網(wǎng)站收錄

廣告

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

成都網(wǎng)站建設(shè)公司
夏邑县| 合江县| 克拉玛依市| 旌德县| 福州市| 宜州市| 青铜峡市| 沭阳县| 巩义市| 胶南市| 秦安县| 突泉县| 岳普湖县| 宁河县| 马边| 天气| 喀喇| 原阳县| 宁德市| 绍兴市| 开鲁县| 凌源市| 梅河口市| 田林县| 宜宾市| 石泉县| 广德县| 梅河口市| 茂名市| 运城市| 化州市| 广南县| 东乡族自治县| 宁陕县| 施秉县| 什邡市| 蓝山县| 晋中市| 体育| 宿迁市| 察哈|