如何在 Java 中使用 lambda 表达式实现 ToLongBiFunction<T, U>?
java 8object oriented programmingprogramming
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