当前位置:   article > 正文

java8新特性:lambda表达式,使用lambda表达式实现Runnable接口_lamada runable

lamada runable

java8新特性:lambda表达式,使用lambda表达式实现Runnable接口

1.使用lambda表达式实现interface接口

1.1、当一个接口只有一个方法时,可以使用lambda表达式实现这个接口。
1.2、当方法中只有一条语句时,可以不写大括号
1.3、方法中超过一条语句时,需要写大括号

interface Animal{
	void play();
}
Animal animal = ()->{System.out.print("hello");}//当一个接口只有一个方法时,可以使用lambda表达式实现这个接口。


Animal animal2 = ()-> System.out.println();//当只有一条语句时,可以不写大括号
Animal animal3 = ()->{
	int count = 1 + 1;
	System.out.print(count);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
2.使用lambda表达式实现Runnable接口
Runnable runnable = ()->{
            System.out.println("hello");
        };//这里的()实现的是run()方法
  • 1
  • 2
  • 3
3.使用lambda表达式启动一个Thread线程

不用lambda表达式的实现:

new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("hello");
            }
        }).start();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用lambda表达式的实现:

new Thread(()->{
            System.out.println("hello");
        }).start();
  • 1
  • 2
  • 3

这里为什么可以只写()->{}表示Runnable?因为Thread的构造方法中需要放一个Runnable类型的参数,然而()->{}这个lambda表达式就代表了一个Runnable,将它们拆分开就是下面这种写法:

Runnable runnable = ()->{
            System.out.println("hello");
        };

new Thread(runnable).start;
  • 1
  • 2
  • 3
  • 4
  • 5

所以我们可以将它们合在一起写,于是就变成了:

new Thread(()->{
            System.out.println("hello");
        }).start();
  • 1
  • 2
  • 3

############# 跑题了,回到主题。########

4.当一个方法只有return语句时,可以省略大括号和return

interface Animal{
    String say();
}

Animal animal = ()->"hello";
  • 1
  • 2
  • 3
  • 4
  • 5

5.当方法只有一个参数时,可以省略括号,不需要写参数修饰符(注意,这里指可以省略参数的小括号)

interface Animal{
    void say(String voice);
}
Animal animal = voice -> System.out.println(voice);
  • 1
  • 2
  • 3
  • 4

6.方法有参数个数超过一个,不能省略小括号

interface Animal{
    void say(String voice,int num);
}
Animal animal = (voice,num) -> System.out.println(voice+"-->"+num);
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/974808
推荐阅读
相关标签
  

闽ICP备14008679号