Java中使用lambda和方法引用实现IntToLongFunction

IntToLongFunction java.util.function包中的内置功能接口。该功能接口接受一个 int值的 参数,并产生一个long值的结果。IntToLongFunction 接口可用作lambda  表达式 方法引用的分配目标  。它仅包含一个抽象方法:applyAsLong()

语法

@FunctionalInterface
interface IntToLongFunction {
   long applyAsLong(int value);
}

Lambda表达式示例

import java.util.function.IntToLongFunction;

public class IntToLongFunctionLambdaTest {
   public static void main(String args[]) {
      IntToLongFunction getLong = intVal -> {       
      //lambda表达式         
      long longVal = intVal;
         return longVal;
      };
   
      int input = 40;
      long result = getLong.applyAsLong(input);
      System.out.println("long值为: " + result);

      input = 75;
      System.out.println("long值为: " + getLong.applyAsLong(input));

      input = 90;
      System.out.println("long值为: " + getLong.applyAsLong(input));
   }
}

输出结果

long值为: 40
long值为: 75
long值为: 90

方法引用示例

import java.util.function.IntToLongFunction;

public class IntToLongFunctionMethodRefTest {
   public static void main(String args[]) {
      IntToLongFunction result = IntToLongFunctionMethodRefTest::convertIntToLong;   
      //方法引用    
      System.out.println(result.applyAsLong(75));
      System.out.println(result.applyAsLong(45));
   }
   static Long convertIntToLong(int value) {
      return value / 10L;
   }
}

输出结果

7
4