这是什么意思 - > Java中的符号?

时间:2016-01-07 12:13:51

标签: java

我无法理解如何使这段代码在Java7中运行

RetryPolicy retryPolicy = new RetryPolicy()
  .retryWhen((ClientResponse response) -> response.getStatus() != 200)
  .withDelay(1, TimeUnit.SECONDS)
  .withMaxRetries(3);

Recurrent.get(() -> webResource.post(ClientResponse.class, input), retryPolicy);

这个->符号到底是什么意思?

如果Java7不支持它如何更改它应该可以工作。

1 个答案:

答案 0 :(得分:4)

->用于表示Lambda Expressions,它在Java 8中引入,因此,它不会针对Java 7进行编译。

取自here

  

Lambda Expressions是一种新的语言功能,已经引入   这个版本。它们使您能够将功能视为一种方法   参数或代码作为数据。 Lambda表达式让你表达   单方法接口的实例(称为功能   接口)更紧凑。

要编译(针对以前版本的Java 8),您需要重写代码。否则,您需要针对Java 8进行编译。