Могу ли я потребовать, чтобы общий параметр имел общие параметры? - PullRequest
0 голосов
/ 29 декабря 2018

Я хотел бы написать класс, который выглядит следующим образом:

public class SomeClass<T<?>> {
    T<String> someField;
    // ...
}

Но это недопустимая Java.Есть ли способ сказать Java, что универсальный параметр T должен быть классом, который принимает один универсальный параметр, такой как List, ArrayList, Supplier или Consumer.

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

В Java нет типов с более высоким родом .Вам понадобится Scala (или Haskell или Rust) для такого рода вещей.

0 голосов
/ 29 декабря 2018

Одним словом, нет.Вы можете ограничить T расширением некоторого класса или реализацией некоторого интерфейса, но вы не можете ограничить его тем, что он сам является универсальным классом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...