official documentation из TypeVariable
действительно сбивает с толку, во-первых, он указывает, что:Создание TypeVariable экземпляров
Тип переменной создается в первый раз, она необходима отражающим методом
и
Повторное создание переменной типа не имеет эффекта
Так что я понимаю, что есть только один экземпляр TypeVariable
, представляющий переменную типа во время выполнения, например:
class A<T> {}
Мы будем иметь один экземпляр Type Variable
, которые представляют T
во время выполнения.
Но документация добавляет:
Несколько объектов могут быть созданы во время выполнения для представления данного переменного типа. Несмотря на то, что переменная типа создается только один раз, это не означает требования кэширования экземпляров, представляющих переменную типа. Тем не менее, все экземпляры, представляющие переменную типа должны быть равны() друг с другом
Из приведенных выше цитат, я понимаю, что есть два вида конкретизации:
- Создания переменного типа (который я дон «т понять)
- Instantiation нескольких экземпляров, представляющий тип переменной
Может кто-нибудь, пожалуйста, объясните, в чем разница между ними?
Спасибо за ваше четкое объяснение, поэтому, когда третья цитата говорит 'Даже если переменная типа создается только один раз, она имеет то же значение, что и« Даже если экземпляр, представляющий переменную типа, создается только один раз »? – NinjaBoy2014
«Даже если экземпляр, представляющий переменную типа, создается только один раз» неверен. «Даже если переменная типа создается только один раз« означает », хотя объявляется только одна переменная типа». –
Значит, создание слова означает количество объявлений переменной типа, которые существуют в коде? – NinjaBoy2014