函数式编程

函数式编程


函数式接口: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值