函数式编程(Functional Programming)是把函数作为基本运算单元,函数可以作为变量,可以接收函数,还可以返回函数。历史上研究函数式编程的理论是Lambda演算,所以我们经常把支持函数式编程的编码风格称为Lambda表达式。
在Java程序中,我们经常遇到一大堆单方法接口,即一个接口只定义了一个方法:
- Comparator
- Runnable
- Callable
以 Comparator
为例,我们想要调用 Arrays.sort()
时,可以传入一个 Comparator
实例,以匿名类方式编写如下:
String[] array = ...
Arrays.sort(array, new Comparator() {
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});