一起Talk Android吧(第一百六十八回:Java中的Lambda四)

各位看官们大家好,上一回中咱们说的是Java中Lambda的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在上一回中提到了匿名函数依赖于接口,在本章回中主要讨论匿名函数的依赖的接口,它有一个专用的名字叫作函数式接口,大家可能在有些代码的注释中见到过@FunctionInterface这样的标记,这说明该接口是一个函数式接口,匿名函数就是依赖于这样的接口,该接口最大的特点就是只有一个函数。

Java程序中最典型的函数式接口就是Runnable接口,因为它只有一个run函数。我们接下来通过具体的代码来说明:

  • 1.首先启动一个线程,代码如下:
new Thread(new Runnable() {
	@Override
	public void run() {
		// TODO Auto-generated method stub
        System.out.println("thread A is running");
	}
}).start();
  • 2.我们把它换成匿名函数,代码如下:
new Thread(()->System.out.println("thread B is running")).start();

我们把它放到main函数中,下面是完整的代码:

import java.lang.Thread;

public class Lambda {

	public static void main(String[] args) {
	
		new Thread(new Runnable() {
			@Override
			public void run() {
				// TODO Auto-generated method stub
		        System.out.println("thread A is running");
			}
		}).start();
		
		new Thread(()->System.out.println("thread B is running")).start();
	
	}

下面是程序的运行结果:

thread A is running 
thread B is running

从程序中可以看出,使用匿名函数的代码很精练。其实匿名函数是从匿名类对象演变而来的。大家如果无法理解匿名函数的话,可以想想这个例子,想想它的演变。

各位看官,关于Java中Lambda的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

发布了520 篇原创文章 · 获赞 131 · 访问量 62万+

猜你喜欢

转载自blog.csdn.net/talk_8/article/details/104583027