Интерфейс TypeMirror
- Все суперинтерфейсы:
AnnotatedConstruct
- Все известные подинтерфейсы:
ArrayType, DeclaredType, ErrorType, ExecutableType, IntersectionType, NoType, NullType, PrimitiveType, ReferenceType, TypeVariable, UnionType, WildcardType
public interface TypeMirror extends AnnotatedConstruct
void. Типы следует сравнивать с помощью служебных методов из Types. Не гарантируется, что какой-либо конкретный тип всегда будет представлен одним и тем же объектом.
Чтобы выполнять операции на основе класса объекта
TypeMirror, используйте либо посетитель, либо результат метода getKind(). Использование
instanceof не обязательно является надежным способом определения фактического класса объекта в этой иерархии моделирования, поскольку реализация может выбрать один объект, реализующий несколько подинтерфейсов TypeMirror.
- См. Спецификацию языка Java:
- 4.1 Виды типов и значений
4.2 Примитивные типы и значения
4.3 Ссылочные типы и значения
4.4 Переменные типа
4.5 Параметризованные типы
4.8 Сырые типы
4.9 Типы-пересечения
10.1 Типы массивов
- Начиная с:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
<R, |
accept |
Применяет посетитель к этому типу. |
boolean |
equals |
Соответствует общему контракту Object.equals. |
<A extends Annotation> |
getAnnotation |
Возвращает аннотацию этого конструкта заданного типа, если такая аннотация присутствует, иначе null. |
List |
getAnnotationMirrors() |
Возвращает аннотации, непосредственно присутствующие в этом конструкте. |
<A extends Annotation> |
getAnnotationsByType |
Возвращает аннотации заданного типа, связанные с этим конструктом. |
TypeKind |
getKind() |
Возвращает kind этого типа. |
int |
hashCode() |
Соответствует общему контракту Object.hashCode. |
String |
toString() |
Возвращает информативное строковое представление этого типа. |
Подробное описание методов
getKind
TypeKind getKind()
kind этого типа. - Вид примитивного типа — один из видов, для которых
TypeKind.isPrimitive()возвращаетtrue. - Вид типа null — это
NULL. - Вид типа массива — это
ARRAY. - Вид объявленного типа — это
DECLARED. - Вид типа ошибки — это
ERROR. - Вид переменной типа — это
TYPEVAR. - Вид типа с подстановочным знаком — это
WILDCARD. - Вид исполняемого типа — это
EXECUTABLE. - Вид псевдотипа — один из следующих:
VOID,PACKAGE,MODULEилиNONE. - Вид объединенного типа — это
UNION. - Вид типа-пересечения — это
INTERSECTION.
- Возвращает:
kindэтого типа
equals
boolean equals(Object obj)
Object.equals. Однако этот метод не указывает, представляют ли два типа один и тот же тип. Для семантического сравнения типов следует использовать Types.isSameType(TypeMirror, TypeMirror). Результаты t1.equals(t2) и Types.isSameType(t1, t2) могут различаться.- Переопределяет:
-
equalsв классеObject - Примечание API:
- Идентичность объекта
TypeMirrorзависит от неявного состояния, недоступного напрямую через его методы, включая сведения о наличии несвязанных типов. Не следует ожидать, что объектыTypeMirror, созданные разными реализациями этих интерфейсов, будут считаться равными, даже если моделируется «один и тот же» тип; это аналогично неравенству объектовClassдля одного и того же файла класса, загруженного разными загрузчиками классов. - Параметры:
-
obj— объект для сравнения с этим типом - Возвращает:
-
true, если указанный объект равен этому объекту - См. также:
hashCode
int hashCode()
Object.hashCode.toString
String toString()
getAnnotationMirrors
List<? extends AnnotationMirror> getAnnotationMirrors()
Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями типов.
- Указано в:
-
getAnnotationMirrorsв интерфейсеAnnotatedConstruct - Возвращает:
- аннотации, непосредственно присутствующие в этом конструкте; пустой список, если таких нет
- Начиная с:
- 1.8
getAnnotation
<A extends Annotation> A getAnnotation(Class<A> annotationType)
null. Возвращаемая этим методом аннотация может содержать элемент со значением типа Class. Это значение нельзя вернуть напрямую: информация, необходимая для поиска и загрузки класса (например, используемый загрузчик классов), недоступна, а сам класс может быть вообще не загружаемым. Попытка прочитать объект Class, вызвав соответствующий метод возвращенной аннотации, приведет к возникновению исключения MirroredTypeException, из которого можно извлечь соответствующий TypeMirror. Аналогично, попытка прочитать элемент со значением типа Class[] приведет к возникновению исключения MirroredTypesException.
Примечание: Этот метод отличается от других методов этого и связанных интерфейсов. Он работает с данными рефлексии времени выполнения — представлениями интерфейсов аннотаций, загруженных в данный момент в виртуальную машину, — а не с представлениями, определенными и используемыми в этих интерфейсах. Поэтому вызов методов объекта возвращенной аннотации может привести ко многим исключениям, которые могут возникнуть при вызове методов объекта аннотации, возвращенного основной рефлексией. Этот метод предназначен для вызывающего кода, написанного для работы с известным фиксированным набором интерфейсов аннотаций.
Обратите внимание, что любая аннотация, возвращаемая этим методом, является аннотацией типа.
- Указано в:
-
getAnnotationв интерфейсеAnnotatedConstruct - Параметры типа:
A— интерфейс аннотации- Параметры:
-
annotationType— объектClass, соответствующий интерфейсу аннотации - Возвращает:
- аннотацию этого конструкта заданного типа, если такая аннотация присутствует, иначе
null - Начиная с:
- 1.8
- См. также:
getAnnotationsByType
<A extends Annotation> A[] getAnnotationsByType(Class<A> annotationType)
AnnotatedConstruct.getAnnotation(Class) тем, что он проверяет, является ли его аргумент повторяемым интерфейсом аннотации, и, если это так, пытается найти одну или несколько аннотаций этого типа, «заглядывая» в контейнерную аннотацию. Возвращаемые этим методом аннотации могут содержать элемент со значением типа Class. Это значение нельзя вернуть напрямую: информация, необходимая для поиска и загрузки класса (например, используемый загрузчик классов), недоступна, а сам класс может быть вообще не загружаемым. Попытка прочитать объект Class, вызвав соответствующий метод возвращенной аннотации, приведет к возникновению исключения MirroredTypeException, из которого можно извлечь соответствующий TypeMirror. Аналогично, попытка прочитать элемент со значением типа Class[] приведет к возникновению исключения MirroredTypesException.
Примечание: Этот метод отличается от других методов этого и связанных интерфейсов. Он работает с данными рефлексии времени выполнения — представлениями интерфейсов аннотаций, загруженных в данный момент в виртуальную машину, — а не с представлениями, определенными и используемыми в этих интерфейсах. Поэтому вызов методов объекта возвращенной аннотации может привести ко многим исключениям, которые могут возникнуть при вызове методов объекта аннотации, возвращенного основной рефлексией. Этот метод предназначен для вызывающего кода, написанного для работы с известным фиксированным набором интерфейсов аннотаций.
Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями типов.
- Указано в:
-
getAnnotationsByTypeв интерфейсеAnnotatedConstruct - Параметры типа:
A— интерфейс аннотации- Параметры:
-
annotationType— объектClass, соответствующий интерфейсу аннотации - Возвращает:
- аннотации этого конструкта заданного типа, если они присутствуют в этом конструкте, иначе пустой массив
- Начиная с:
- 1.8
- См. также:
accept
<R,P> R accept(TypeVisitor<R,P> v, P p)
- Параметры типа:
R— тип возвращаемого значения методов посетителяP— тип дополнительного параметра методов посетителя- Параметры:
-
v— посетитель, обрабатывающий этот тип -
p— дополнительный параметр посетителя - Возвращает:
- результат, определяемый посетителем
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.