JDK 8中Lambda研究

    xiaoxiao2021-03-25  99

    1. 什么是Lambda?

       Fundamentally, a lambda expression is just a shorter way of writing an implementation of a method for later execution.  

      (从根本上讲,一个lambda表达式是一个短的写作方式用于以后的执行方法的实现。)

      (1)lambda是方法的实现   (2)lambda是延迟执行的

    2.举例

    首先看一个用匿名内部类的例子。

    public class Test1{ public static void main(String args[]){ Runnable r = new Runnable(){ public void run(){ System.out.println("hello,lambda!"); } }; r.run(); } } 要换成lambda是什么样的呢? public class Test2{ public static void main(String args[]){ Runnable r = ()->System.out.println("hello,lambda"); r.run(); } }

    例子2

    使用前: 

    List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");  Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); }  }); 使用后:

    Collections.sort(names, (String a, String b) -> { return b.compareTo(a);  });

    Lambda语法

    A lambda in Java essentially consists of three parts: a parenthesized set of parameters, an arrow, and then a body,   which can either be a single expression or a block of Java code.  lambda包含3个部分:  (1)括弧包起来的参数  (2)一个箭头  (3)方法体,可以是单个语句,也可以是语句块  参数可以写类型,也可以不写,jvm很智能的,它能自己推算出来

    转载请注明原文地址: https://ju.6miu.com/read-26347.html

    最新回复(0)