Spring Async を実装しようとしていますが、クラス参照を CompletableFuture に渡そうとしているときに問題に直面しています。
public final class Test<T> {
final String id;
final Class<T> type;
public static <T> Test<T> key(String id, Class<T> type) {
return new Test<>(id, type);
}
}
ここで、定数を作成し、クラス参照を消去型で渡したいと思います。
public static final Test<CompletableFuture<Student>> variable = Test.key("variable", CompletableFuture.class); //compilation error
public static final Test<CompletableFuture> variable = Test.key("variable", CompletableFuture.class); //works but complaints about raw type
タイプセーフを確保しながらクラス参照を渡す方法を提案してください。