java8 方法中 传递函数

来源:互联网 发布:linux lost found 编辑:程序博客网 时间:2024/05/17 00:18

目的:

    想向Scala的面向函数一样,在Java中也进行函数当做参数的传递。


流程:

    首先需要定义一个函数接口:

@FunctionalInterfacepublic interface  FilterPhoneFuction {    boolean filter(String phone);    default String getInfo(){        return "过滤手机号函数" ;    }}

    请注意java8中对函数接口定义的规范原则。


其次实现该接口:

public static void main(String[] args) {        FilterPhoneFuction phoneFuction = (phone)->{            System.out.println(phone);            return true ;        };//        phoneFuction.filter("aa");        hancle(phoneFuction);    }



然后看看是如何调用的:

 private static void hancle(FilterPhoneFuction phoneFuction) {        List<String> list = Lists.newArrayList() ;        list.add("aa");        list.add("bb");        list.add("cc") ;        list.stream().forEach(phoneFuction::filter);//        List<String> phoneList = readTxtFile("");//获取手机号    }

打印:

aabbcc


总结:如此来看Java也是可以进行函数的传递的,这样提供面向函数会方便很多。



原创粉丝点击