下午好,有一个功能rxJava ,有一个方法flatMap:
@Override
public Observable<AuthorizationEntity> confirmVerificationCode(String email,int verificationCode) {
return restClient.getVerificationApi(email,verificationCode)
.flatMap((Function<Response<ResponseBody>, Observable<AuthorizationEntity>>) responseBodyResponse -> {
Gson gson = new Gson();
AuthorizationEntity authorizationEntity = gson.fromJson(responseBodyResponse.body().string(), AuthorizationEntity.class);
authorizationEntity.setToken(responseBodyResponse.headers().get("MPOS_AUTH_TOKEN"));
return Observable.fromArray(authorizationEntity);
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
如何将flatMaplambda 从中取出到一个单独的方法中并使用表单的构造this::method?
一切都很简单:
将 lambda 移动到具有适当签名的单独方法中
在使用 lambda 的地方,写下以下内容:
ps 如果签名被删除
static,那么该方法将通过 访问this,相应的调用将如下所示: