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

这是什么意思->;Java中的符号?,java,Java,我无法理解如何使这段代码在Java7中工作 RetryPolicy retryPolicy = new RetryPolicy() .retryWhen((ClientResponse response) -> response.getStatus() != 200) .withDelay(1, TimeUnit.SECONDS) .withMaxRetries(3); Recurrent.get(() -> webResource.post(ClientRespons

我无法理解如何使这段代码在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);
这个
->
符号在java中到底意味着什么


如果Java7不支持它,那么如何更改它以使其正常工作。

使用
->
表示在Java8中引入的代码,因此,它不会针对Java7编译

摘自:

Lambda表达式是一种新的语言特性,在 这次发布。它们使您能够将功能视为一种方法 参数,或代码作为数据。Lambda表达式可以让您表达 单个方法接口的实例(称为功能接口 接口)更紧凑


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

切换到使用Java 8,因为v7不再受支持。这被称为arrow
->
,用于lambda表达式类参数、
->
箭头和expression@tom谢谢。输入错误,已更正。我正在使用一个API,其中他们使用了这样的代码,这意味着它将支持Java7?@SubodhJoshi不,它仅支持java 8。@SubodhJoshi:该代码不是java 7的一部分。Lambda表达式在Java 8中引入,需要Java 8或更高版本进行编译。