Google Guava 函数编程

    1. public void testFunctions() {  
    2.         //测试组合两个功能函数,用于集合转换  
    3.         //1、定义第一个功能函数,用于将School类转为地址字符串,即:f(school)=location  
    4.         //传入一个School,返回一个String
    5.         Function<School,String> f = new Function<School,String>() {  
    6.             @Override  
    7.             public String apply(School s) {  
    8.                 if(s==null) {  
    9.                     return "";  
    10.                 }  
    11.                 return s.location;  
    12.             }  
    13.               
    14.         };  
    15.         //2、定义第二个功能函数,用于转换大小写,即:f(string)=STRING  
    16.         //传入一个String,返回一个String
    17.         Function<String,String> f2 = new Function<String,String>() {  
    18.             @Override  
    19.             public String apply(String s) {  
    20.                 if(s==null) {  
    21.                     return "";  
    22.                 }  
    23.                 return s.toUpperCase();  
    24.             }  
    25.         };  
    26.           
    27.         //3、定义函数组合,将对每个元素执行f,然后对结果进行f2计算,即:result=f2(f(school))  
    28.         //先执行f,然后将f的返回值传给f2执行f2
    29.         Function<School,String> f3 = Functions.compose(f2, f);  
    30.          
    31.     }  
原文地址:https://www.cnblogs.com/neilshi/p/7803088.html