import java.util.function.Function;
public class Test {
public static void main(String[] args) {
// Function<String, Integer> function = new Function<String, Integer>() {
// @Override
// public Integer apply(String s) {
// return Integer.parseInt(s);
// }
// };
// Function<Integer, Integer> function1 = function.compose(new Function<Integer, String>() {
// @Override
// public String apply(Integer integer) {
// return String.valueOf(integer) + 33;
// }
// });
//将匿名内部类改写成Lambda表达式,更符合函数式编程的模式
Function<String, Integer> function = s -> {
return Integer.parseInt(s);
};
Function<Integer, Integer> function1 = function.compose(integer -> String.valueOf(integer) + 33);
Integer apply = function1.apply(11);
System.out.println(apply);
}
}
##结果分析:函数式编程注主要理解的是行为,关键要理解先执行那一块,此函数先执行String.valueOf(integer)+33拼接字符串,再执行Integer.parseInt(s)转换成Integer类型的值,多用几次就熟练掌握并理解函数式编程思想了##