- 
  StackOverflow 文件
- 
  Java Language 教程
- 
  Lambda 表示式
- 
  Lambda 風格的傳統風格
傳統方式
interface MathOperation{
    boolean unaryOperation(int num);
}
public class LambdaTry {
    public static void main(String[] args) {
        MathOperation isEven = new MathOperation() {
            @Override
            public boolean unaryOperation(int num) {
                return num%2 == 0;
            }
        };
        
        System.out.println(isEven.unaryOperation(25));
        System.out.println(isEven.unaryOperation(20));
    }
}
Lambda 風格
- 刪除類名和功能介面體。
public class LambdaTry {
    public static void main(String[] args) {
        MathOperation isEven = (int num) -> {
            return num%2 == 0;
        };
        
        System.out.println(isEven.unaryOperation(25));
        System.out.println(isEven.unaryOperation(20));
    }
}
- 可選的型別宣告
MathOperation isEven = (num) -> {
    return num%2 == 0;
};
- 引數的可選括號,如果是單個引數
MathOperation isEven = num -> {
    return num%2 == 0;
};
- 如果函式體中只有一行,則可選花括號
- 如果函式體中只有一行,則可選返回關鍵字
MathOperation isEven = num -> num%2 == 0;