《Java JDK1.8新特性》---Lambda表达式
程序员文章站
2022-06-07 13:21:53
...
刚开始看到这个的时候,觉得这是啥啊?根本就不是java了嘛。不要学这个,我要写正宗java代码。看着就别扭。真正接触之后,真香!!!
下面的叙述都是个人理解,简单表达。有错误的地方还请指正。
“->”的使用
1.没有参数的使用方法
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getId());
}
});
// () -> {} 简直不要太方便,一句话搞定.
Thread t2 = new Thread(() -> {
System.out.println(Thread.currentThread().getId());
});
t1.start();
t2.start();
}
运行结果:
2.有参数的使用方法
x -> System.out.println(x)
(x) -> {System.out.println(x);}
上面两种方法都是只有一个参数的时候。多个也比较简单。
(x, y) -> System.out.println(x + y)
注意如果有返回值,一句话的话可以直接是最后结果返回值。如果是代码块则需要带有return返回对应类型
引用W3C
// 1. 不需要参数,返回值为 5
() -> 5
// 2. 接收一个参数(数字类型),返回其2倍的值
x -> 2 * x
// 3. 接受2个参数(数字),并返回他们的差值
(x, y) -> x – y
// 4. 接收2个int型整数,返回他们的和
(int x, int y) -> x + y
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)
(String s) -> System.out.print(s)
推荐阅读
-
java使用lambda表达式对List集合进行操作技巧(JDK1.8)
-
Java8新特性之泛型的目标类型推断_动力节点Java学院整理
-
Java8新特性之StampedLock_动力节点Java学院整理
-
Java8新特性之JavaFX 8_动力节点Java学院整理
-
Java8新特性之Base64详解_动力节点Java学院整理
-
Java8新特性之lambda的作用_动力节点Java学院整理
-
详解Java中的Lambda表达式
-
Java新特性之Nashorn_动力节点Java学院整理
-
Java8新特性之再见Permgen_动力节点Java学院整理
-
Java8新特性之类型注解_动力节点Java学院整理