如何使用 Java 中的 lambda 表示式實現 ToLongBiFunction函式?


ToLongBiFunction<T, U>java.util.function包中的內建函式式介面。此函式式介面接受兩個引用型別引數作為輸入,併產生一個長整型結果。ToLongBiFunction<T, U>介面可以用作lambda 表示式 方法 引用 的賦值目標,並且只包含一個抽象方法:applyAsLong()

語法

@FunctionalInterface
interface ToLongBiFunction<T, U> {
 long applyAsLong(T t, U u);
}

示例

import java.util.*;
import java.util.function.ToLongBiFunction;

public class ToLongBiFunctionTest {
   public static void main(String[] args) {
      ToLongBiFunction<Map<String, Long>, String> getMobileNum = (map,value) -> {    // lambda
         if(map != null && !map.isEmpty()) {
            if(map.containsKey(value)) {
               return map.get(value);
            }
         }
         return 0;
      };
      Map<String, Long> mobileNumbers = new HashMap<String, Long>();
      mobileNumbers.put("Raja", 9959984805L);
      mobileNumbers.put("Adithya", 7702144433L);
      mobileNumbers.put("Jai", 7013536286L);
      mobileNumbers.put("Chaitanya", 9652671506L);

      String name = "Raja";
      long result = getMobileNum.applyAsLong(mobileNumbers, name);
      System.out.println("Raja's Mobile no: "+ result);

      name = "Adithya";
      System.out.println("Adithya's Mobile no: "+ getMobileNum.applyAsLong(mobileNumbers, name));

      name = "Jai";
      System.out.println("Jai's Mobile no: "+ getMobileNum.applyAsLong(mobileNumbers, name));

      name = "Chaitanya";
      System.out.println("Chaitanya's Mobile no: "+ getMobileNum.applyAsLong(mobileNumbers, name));
   }
}

輸出

Raja's Mobile no: 9959984805
Adithya's Mobile no: 7702144433
Jai's Mobile no: 7013536286
Chaitanya's Mobile no: 9652671506

更新於: 2020 年 7 月 14 日

181 次瀏覽

開啟您的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.