01 lamdba表达式

Lambda 允许把函数作为一个方法的参数,使用 Lambda 表达式可以使代码变的更加简洁紧凑。

1、操作步骤

  • 创建一个接口LambdaInterface1.java
public interface LambdaInterface1 {
    void test();
}
  • 创建一个接口LambdaInterface2.java
public interface LambdaInterface2 {
    void test(int n);
}
  • 创建一个接口LambdaInterface3 .java
public interface LambdaInterface3 {
    void test(int n,int m);
}
  • 通常情况下,我们会创建这些接口的实现类,或者使用匿名类如下:
public class LambdaInterface1Impl{
  public void test()
  {
    System.out.println("LambdaInterface1Impl.test()");
  }
}
或者
new LambdaInterface1() {
    @Override
    public void test() {
       System.out.println("LambdaInterface1.test()");
    }
}.test();
  • 在使用了lambda表达式后,代码可以简化成下面这样:
((LambdaInterface1) () -> System.out.println("LambdaInterface1.test()")).test();

((LambdaInterface2) n -> System.out.println("LambdaInterface2.test(int n)")).test(2);

(LambdaInterface3) (n, m) -> System.out.println("LambdaInterface3.test(int n, int m)")).test(1, 2);
  • 再举一个排序的例子写成lambda表达式:
本来是这样:
Integer[] is = new Integer[]{6,8,4,34,7,3,23,432};
Arrays.sort(is, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o1-o2;
    }
});
可以简化为这样:
Integer[] is = new Integer[]{6,8,4,34,7,3,23,432};
Arrays.sort(is, (o1, o2) -> o1-o2);

以上就是lambda表达式的基本用法。

01 lamdba表达式

上一篇:mysql 模糊匹配优化(全文索引)


下一篇:Oracle Database 19c 技术架构(三)