java8函数式接口和行为参数化

扯淡

        面对不断变化的需求,代码质量是否感觉一直无法提升,越改越邋遢?java8函数式接口实现行为参数化可以帮助你解决一部分这方面的困扰。

        java8已经发布很久了,大家对Lambda表达式肯定也已经是爱不释手了,那么具体是要什么样的地方才能使用Lambda表达式呢?
        答案就是“函数式接口”,java8引入了Lambda表达式,而Lambda表达式使用的基础正是函数式接口。

        什么是函数是接口?

        函数式接口就是仅定义了一个抽象方法的接口,一般用“@FunctionalInterface”注解来进行约束,当定义的抽象方法大于1个的时候,编译器就会报错。

示例

本文我们以筛选不同类型的狗的需求,来展现一个最简单的java8函数式接口实现行为参数化案例。

1,我们先创建一个狗的实体,包含id、类型和是否为警犬的属性

 

2,创建一个函数式接口,后面我们就通过这个接口来进行筛选

3,创建一个函数式接口,后面我们用它来传递方法

 

4,创建一个主类,进行一个简单的测试

 

执行结果:
筛选警犬:
Dog{id=1, type=1, hasPolice=true}
Dog{id=2, type=2, hasPolice=true}
筛选警犬+高级狗:
Dog{id=2, type=2, hasPolice=true}


guolin

guolin

相信世界,向往美好,记录成长过程,分享个人心得,充实平凡生活。 网站信条:因为喜欢,所以热爱。

发表评论

电子邮件地址不会被公开。 必填项已用*标注