Java中如何区分与深入理解各类functional interface应用?

2026-05-26 07:380阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计1324个文字,预计阅读时间需要6分钟。

Java中如何区分与深入理解各类functional interface应用?

Java 8 引入了 Lambda 表达式,Lambda 表达式实际上是一个匿名的 Function。在 Java 8 之前,若需要使用匿名函数,必须通过创建一个实现特定接口的类。但引入 Lambda 后,这种做法变得非常简洁。

java 8引入了lambda表达式,lambda表达式实际上表示的就是一个匿名的function。

在java 8之前,如果需要使用到匿名function需要new一个类的实现,但是有了lambda表达式之后,一切都变的非常简介。

我们看一个之前讲线程池的时候的一个例子:

//ExecutorService using class ExecutorService executorService = Executors.newSingleThreadExecutor(); executorService.submit(new Runnable() { @Override public void run() { log.info("new runnable"); } });

executorService.submit需要接收一个Runnable类,上面的例子中我们new了一个Runnable类,并实现了它的run()方法。

上面的例子如果用lambda表达式来重写,则如下所示:

//ExecutorService using lambda executorService.submit(()->log.info("new runnable"));

看起是不是很简单,使用lambda表达式就可以省略匿名类的构造,并且可读性更强。

阅读全文

本文共计1324个文字,预计阅读时间需要6分钟。

Java中如何区分与深入理解各类functional interface应用?

Java 8 引入了 Lambda 表达式,Lambda 表达式实际上是一个匿名的 Function。在 Java 8 之前,若需要使用匿名函数,必须通过创建一个实现特定接口的类。但引入 Lambda 后,这种做法变得非常简洁。

java 8引入了lambda表达式,lambda表达式实际上表示的就是一个匿名的function。

在java 8之前,如果需要使用到匿名function需要new一个类的实现,但是有了lambda表达式之后,一切都变的非常简介。

我们看一个之前讲线程池的时候的一个例子:

//ExecutorService using class ExecutorService executorService = Executors.newSingleThreadExecutor(); executorService.submit(new Runnable() { @Override public void run() { log.info("new runnable"); } });

executorService.submit需要接收一个Runnable类,上面的例子中我们new了一个Runnable类,并实现了它的run()方法。

上面的例子如果用lambda表达式来重写,则如下所示:

//ExecutorService using lambda executorService.submit(()->log.info("new runnable"));

看起是不是很简单,使用lambda表达式就可以省略匿名类的构造,并且可读性更强。

阅读全文