函数式编程
函数式编程
函数式接口: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() 的作用就是返回 指定的返回值。( 这里的命名方法不对,但是这样的方法有利于多方位的理解 )
结论:函数式接口中只有一个方法,该方法的返回值就是该类的返回值。