我无法理解如何使这段代码在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不支持它如何更改它应该可以工作。
答案 0 :(得分:4)
->
用于表示Lambda Expressions,它在Java 8中引入,因此,它不会针对Java 7进行编译。
取自here:
Lambda Expressions是一种新的语言功能,已经引入 这个版本。它们使您能够将功能视为一种方法 参数或代码作为数据。 Lambda表达式让你表达 单方法接口的实例(称为功能 接口)更紧凑。
要编译(针对以前版本的Java 8),您需要重写代码。否则,您需要针对Java 8进行编译。