zoukankan      html  css  js  c++  java
  • lamda表达式的两种写法

     1 public class Test{
     2    public synchronized void test1(){
     3        System.out.println("test1 start...........");
     4        try {
     5            TimeUnit.SECONDS.sleep(1);
     6        } catch (InterruptedException e) {
     7            e.printStackTrace();
     8        }
     9          System.out.println("test1 end...........");
    10    }
    11 
    12     public static void main(String[] args) {
    13         Test t = new Test();
    14         new Thread(()->t.test1()).start();
    15     }
    16 }

    上面这个lamda表达式其实是方法体中只有一条 t.test1() 语句所以省略{ }的写法,易懂的的写法是

    new Thread(()->{
      t.test1();
    }).start();

    lamda表达式还有一种::双冒号的写法,这个写法可以省略要重写的方法的参数和箭头,即上面的()->

    冒号左边放对象,右边放你要调用的方法名,不带参数,上面的lamda表达式也可以改成双冒号的形式

    new Thread(t::test1).start();

    如果重写的方法的方法体中不是调用方法或者还需要写其他语句,那应该就不能用这种方式了


  • 相关阅读:
    汇编 gdb调试
    汇编 运行错误解决办法
    binutils安装
    汇编错误
    汇编
    pthread_create()
    error2019-01-17 宏STDOUT_FILENO
    2019-01-17 跳至首行
    .NET MVC 两种视图引擎(Razor、Aspx)
    ECharts属性设置
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/11830421.html
Copyright © 2011-2022 走看看