函数式编程

函数式编程


函数式接口:java中的lambda无法单独出现,它需要一个函数式接口老盛放,lambda表达式方法体其实就是函数接口的实现。

eg1:编译可通过


函数式接口:
public interface C<F, T, D> {

        D convert(T from);

}


测试:
public class A {

   public static void main(String[] args) {

        C<Void, String, Double> c = a -> 1.3;

        System.out.println(c.convert(""));

}

}

控制台输出:  1.3

函数式接口中只有一个方法,该方法的返回值就是该类的返回值。

eg2编译可通过

public interface C<F, T, D> {

        Map<String, Integer> convert(T from);

}

public class A {

   public static void main(String[] args) {

        Map<String, Integer> map = new HashMap<String, Integer>();

        map.put("张三", 23);

        map.put("李四", 24);

        C<Void, String, Double> c = a -> map;

        System.out.println(c.convert(""));

   }

}

 控制台输出:  {李四=24, 张三=23}

注:convert() 的作用就是返回 指定的返回值。( 这里的命名方法不对,但是这样的方法有利于多方位的理解 )

结论:函数式接口中只有一个方法,该方法的返回值就是该类的返回值。 

原文地址:https://www.cnblogs.com/tian666/p/7880166.html