тип ссылки для универсального типа в Java - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь реализовать 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);
    }
}


Теперь я хочу создать константу и передать ссылку на класс с помощьюТип erasure.

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

Пожалуйста, предложите, как я могу передать ссылку на класс при обеспечении безопасности типа.

...