有没有办法避免此代码中的return null
?
@Test
public void testFrontEndPing() throws Exception {
String url = frontEndUrl("ping");
HttpGet httpGet = new HttpGet(url);
httpClient.execute(httpGet, httpResponse -> {
assertEquals(200, httpResponse.getStatusLine().getStatusCode());
return null;
}
);
}
答案 0 :(得分:4)
您可以编写这样的包装器方法:
static void execute(HttpClient client, HttpUriRequest request,
Consumer<HttpResponse> handler) {
client.<Void>execute(request, response -> {
handler.accept(response);
return null;
});
}
并像这样使用它:
execute(httpClient, httpGet, httpResponse ->
assertEquals(200, httpResponse.getStatusLine().getStatusCode()));
答案 1 :(得分:2)
您尝试使用的功能接口强制函数返回一个对象。因此,无论您如何编写此功能,您都必须包含'return null;'
我建议您分析代码的用途,以及根据代码的设计,您是否真的希望该方法始终返回null。