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. }