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