函数式接口例题

函数式接口例题

练习1:

/*
 * 	1)声明函数式接口,接口中声明抽象方法,public String getValue(String str)
 * 	2)声明类 TestLambda,类中编写方法使用接口作为参数,操作字符串
 */
public class TestLambda02 {
    public static void main(String[] args) {
        String str = "  hiudhiuwhdowjd  dhjdwjdw ";
        //使用Lambda表达式
        System.out.println(operate(str,s->s.trim()));
        System.out.println(operate(str,s->s.toUpperCase()));
        System.out.println(operate(str,s->s.substring(2,5)));
    }
    //定义方法,将函数接口作为参数
    public static String operate(String s,MyFunction my){
        return my.getValue(s);
    }
}
//定义函数式接口
interface MyFunction{
    public String getValue(String str);
}

练习2:

/*
 * 	1)声明一个带两个泛型的函数式接口,发型类型为<T,R> T为参数,R为返回值
 * 	2)接口中声明对应抽象方法
 */
public class TestLambda03 {
    public static void main(String[] args) {
        //使用Lambda表达式
        System.out.println(operate(300,200,(l1,l2)->l1+l2));
        System.out.println(operate(300,200,(l1,l2)->l1-l2));
        System.out.println(operate(300,200,(l1,l2)->l1*l2));
        System.out.println(operate(300,200,(l1,l2)->l1/l2));
    }
    //定义方法,将函数接口作为参数
    public static long operate(long l1,long l2,MyFunction2<Long,Long> my){
        return my.caculate(l1,l2);
    }
}
//定义函数式接口
interface MyFunction2<T,R>{
    public R caculate(T t1,T t2);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值