私は、以下の機能を持っている:このエラーは何を意味し、私のコードに何が間違っていますか?
public CompletableFuture<List<String>> getUsers(final String users) {
final CompletionStage<List<String>> cacheFuture = cache.read(users.toString());
return cacheFuture.thenCompose((List<String> userList) -> {
if (userList != null) {
return CompletableFuture.completedFuture(userList);
}
return service.getUsers(users).thenApply((List<String> usersFresh) -> {
cache.write(users.toString(), usersFresh);
return usersFresh;
});
});
}
は、私が取得していますコンパイルエラーがある:ラムダ式で
悪い戻り値の型:リスト上のU
へ
を変換することはできません線return usersFresh
のメソッドシグネチャは、次のとおりです。
CompletableFuture<List<String>> getUsers(String users);
私は私のコードと、なぜそれがコンパイルされませんと間違っているかを理解していません。あなたが好きな、toCompletableFuture
を使用してCompletableFuture
にCompletionStage
を変換する必要が
'CACは何か彼は 'service.getUsers()'の 'cache.read()'と 'service'に入っていますか? – nullpointer
ここで間違っていると思われることは、確実に 'return'ステートメントの使用になります。しかし、上記の変数についての詳細も追加することをあなたに待つでしょう。 – nullpointer