函数式编程 - 类型推断


类型推断是一种编译器自动推断所传递参数的类型或方法的返回类型的技术。从 Java 8 开始,Lambda 表达式主要使用类型推断。

有关类型推断的说明,请参阅下面的示例。

示例-类型推断

public class FunctionTester {

   public static void main(String[] args) {
      Join<Integer,Integer,Integer> sum = (a,b) ->  a + b;
      System.out.println(sum.compute(10,20));

      Join<String, String, String> concat = (a,b) ->  a + b;
      System.out.println(concat.compute("Hello ","World!"));
   }

   interface Join<K,V,R>{
      R compute(K k ,V v);
   }
}

输出

30
Hello World!

lambda 表达式最初将每个参数及其返回类型视为 Object,然后相应地推断数据类型。在第一种情况下,推断的类型是 Integer,在第二种情况下,推断的类型是 String。