什么是lambda表达式?
它是一个可以传递的代码块,可以在之后一次或者多次执行。
按时间间隔多次完成操作(创建ActionListener实现类的一个实例,然后同样传到一个Timer类的一个实例中。)
语法
语法:
比如,要比较两个字符串长短:
(String first,String second)
->first.length() - second.length()
这是一个简单的lambda表达式,其整体含义就是一个代码块以及必须传入的代码规范。
这个就是基本的规范
(参数)->{表达式}
- 无参数的lambda表达式仍然需要提供空括号
()->{for (int i =100;i>=0;i–)System.out.println(i);} - 如果可以推导出表达式的参数类型,则可以对其忽略,如:
Comparator <String> comp
= (first ,second)
->first.length();-second.length();
- 如果方法只有一个参数,而且这个参数的类型可以推导得出,那么甚至可以省略小括号:
ActionListener listener = event ->
System.out.println("The time is "+Instant.ofEpochMilli
(event.getWhen()));
- 无需指定lambda表达式的返回类型。返回值类型总是会由上下文推导得出,如下:
(String first,String second)
->first.length( )-second.length( )
菜鸟教程lambda表达式
大佬超详细的理解
————————————————————————————