Класс Field
- Все реализованные интерфейсы:
AnnotatedElement, Member
public final class Field extends AccessibleObject implements Member
Field предоставляет информацию об одном поле класса или интерфейса и обеспечивает динамический доступ к нему. Отражаемое поле может быть полем класса (статическим) или полем экземпляра. Объект Field допускает расширяющие преобразования при выполнении операции чтения или записи, но выбрасывает IllegalArgumentException, если требуется сужающее преобразование.
- С версии:
- 1.1
- См. также:
Краткое описание полей
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Set |
accessFlags() |
Возвращает неизменяемый набор флагов доступа для этого поля, который может быть пустым. |
boolean |
equals |
Сравнивает этот объект Field с указанным объектом. |
Object |
get |
Возвращает значение поля, представленного этим объектом Field, для указанного объекта. |
AnnotatedType |
getAnnotatedType() |
Возвращает объект AnnotatedType, представляющий использование типа для указания объявленного типа поля, представленного этим объектом Field. |
<T extends Annotation> |
getAnnotation |
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует; в противном случае возвращает null. |
<T extends Annotation> |
getAnnotationsByType |
Возвращает аннотации, связанные с этим элементом. |
boolean |
getBoolean |
Получает значение статического поля или поля экземпляра типа boolean. |
byte |
getByte |
Получает значение статического поля или поля экземпляра типа byte. |
char |
getChar |
Получает значение статического поля или поля экземпляра типа char либо другого примитивного типа, преобразуемого в тип char посредством расширяющего преобразования. |
Class |
getDeclaringClass() |
Возвращает объект Class, представляющий класс или интерфейс, в котором объявлено поле, представленное этим объектом Field. |
double |
getDouble |
Получает значение статического поля или поля экземпляра типа double либо другого примитивного типа, преобразуемого в тип double посредством расширяющего преобразования. |
float |
getFloat |
Получает значение статического поля или поля экземпляра типа float либо другого примитивного типа, преобразуемого в тип float посредством расширяющего преобразования. |
Type |
getGenericType() |
Возвращает объект Type, представляющий объявленный тип поля, представленного этим объектом Field. |
int |
getInt |
Получает значение статического поля или поля экземпляра типа int либо другого примитивного типа, преобразуемого в тип int посредством расширяющего преобразования. |
long |
getLong |
Получает значение статического поля или поля экземпляра типа long либо другого примитивного типа, преобразуемого в тип long посредством расширяющего преобразования. |
int |
getModifiers() |
Возвращает модификаторы языка Java для поля, представленного этим объектом Field, в виде целого числа. |
String |
getName() |
Возвращает имя поля, представленного этим объектом Field. |
short |
getShort |
Получает значение статического поля или поля экземпляра типа short либо другого примитивного типа, преобразуемого в тип short посредством расширяющего преобразования. |
Class |
getType() |
Возвращает объект Class, идентифицирующий объявленный тип поля, представленного этим объектом Field. |
int |
hashCode() |
Возвращает хеш-код этого объекта Field. |
boolean |
isEnumConstant() |
Возвращает true, если это поле представляет элемент перечислимого класса; в противном случае возвращает false. |
boolean |
isSynthetic() |
Возвращает true, если это поле является синтетическим; в противном случае возвращает false. |
void |
set |
Устанавливает для поля, представленного этим объектом Field, указанное новое значение в аргументе-объекте. |
void |
setAccessible |
Устанавливает для отражаемого объекта значение указанного логического флага accessible. |
void |
setBoolean |
Устанавливает значение поля в виде boolean для указанного объекта. |
void |
setByte |
Устанавливает значение поля в виде byte для указанного объекта. |
void |
setChar |
Устанавливает значение поля в виде char для указанного объекта. |
void |
setDouble |
Устанавливает значение поля в виде double для указанного объекта. |
void |
setFloat |
Устанавливает значение поля в виде float для указанного объекта. |
void |
setInt |
Устанавливает значение поля в виде int для указанного объекта. |
void |
setLong |
Устанавливает значение поля в виде long для указанного объекта. |
void |
setShort |
Устанавливает значение поля в виде short для указанного объекта. |
String |
toGenericString() |
Возвращает строку с описанием этого объекта Field, включая его обобщённый тип. |
String |
toString() |
Возвращает строку с описанием этого объекта Field. |
Методы, объявленные в классе AccessibleObject
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, trySetAccessible
Подробное описание методов
setAccessible
public void setAccessible(boolean flag)
AccessibleObjectaccessible для этого отражённого объекта в указанное логическое значение. Значение true указывает, что при использовании отражённый объект должен обходить проверки управления доступом языка Java. Значение false указывает, что при использовании отражённый объект должен выполнять проверки управления доступом языка Java с особенностями, отмеченными в описании класса. Этот метод может использовать вызывающий код в классе C, чтобы разрешить доступ к member класса declaring class D, если выполняется хотя бы одно из следующих условий:
-
CиDнаходятся в одном модуле. - Член является
public, аDявляетсяpublicв пакете, который модуль, содержащийD,exportsкак минимум модулю, содержащемуC. - Член является
protectedstatic,Dявляетсяpublicв пакете, который модуль, содержащийD, экспортирует как минимум модулю, содержащемуC, аCявляется подклассомD. -
Dнаходится в пакете, который модуль, содержащийD,opensкак минимум модулю, содержащемуC. Все пакеты в безымянных и открытых модулях открыты для всех модулей, поэтому этот метод всегда выполняется успешно, еслиDнаходится в безымянном или открытом модуле.
Этот метод может использовать код JNI, у которого в стеке отсутствует вызывающий класс, чтобы разрешить доступ к member класса declaring class D тогда и только тогда, когда:
- Член является
public, аDявляетсяpublicв пакете, который модуль, содержащийD,exportsбезусловно.
Этот метод нельзя использовать для разрешения доступа к закрытым членам, членам с доступом по умолчанию (на уровне пакета), защищённым нестатическим членам или защищённым конструкторам, если объявляющий класс находится в модуле, отличном от модуля вызывающего кода, а пакет, содержащий объявляющий класс, не открыт для модуля вызывающего кода.
Этот метод нельзя использовать для разрешения доступа на запись к неизменяемому полю final. К неизменяемым относятся следующие поля:
- статические поля final, объявленные в любом классе или интерфейсе
- поля final, объявленные в скрытом классе
- поля final, объявленные в записи
Флаг accessible при true отключает проверки управления доступом языка Java только для разрешения доступа на чтение этих неизменяемых полей final.
- Переопределяет:
-
setAccessibleв классеAccessibleObject - Параметры:
-
flag— новое значение флагаaccessible - Исключения:
-
InaccessibleObjectException— если невозможно разрешить доступ - Внешние спецификации
- См. также:
getDeclaringClass
public Class<?> getDeclaringClass()
Class, представляющий класс или интерфейс, объявляющий поле, представленное этим объектом Field.- Указано в:
-
getDeclaringClassв интерфейсеMember - Возвращает:
- объект, представляющий класс, объявивший базовый член
getName
getModifiers
public int getModifiers()
Field, в виде целого числа. Для декодирования модификаторов следует использовать класс Modifier.- Указано в:
-
getModifiersв интерфейсеMember - Возвращает:
- модификаторы языка Java для базового члена
- См. Спецификацию языка Java:
- 8.3 Объявления полей
9.3 Объявления полей (констант)
- См. также:
accessFlags
public Set<AccessFlag> accessFlags()
- Указано в:
-
accessFlagsв интерфейсеMember - Возвращает:
- возможно пустой неизменяемый набор флагов доступа для этого поля
- См. Спецификацию виртуальной машины Java:
- 4.5 Поля
- Появился в версии:
- 20
- См. также:
isEnumConstant
public boolean isEnumConstant()
true, если это поле представляет элемент перечисления; в противном случае возвращает false.- Возвращает:
-
trueтогда и только тогда, когда это поле представляет элемент перечисления. - См. Спецификацию языка Java:
- 8.9.1 Константы перечисления
- Появился в версии:
- 1.5
isSynthetic
public boolean isSynthetic()
true, если это поле является синтетическим; в противном случае возвращает false.- Указано в:
-
isSyntheticв интерфейсеMember - Возвращает:
- true тогда и только тогда, когда это поле является синтетическим полем в определении Спецификации языка Java.
- Появился в версии:
- 1.5
- См. также:
getType
public Class<?> getType()
Class, определяющий объявленный тип поля, представленного этим объектом Field.- Возвращает:
- объект
Class, определяющий объявленный тип поля, представленного этим объектом
getGenericType
public Type getGenericType()
Type, представляющий объявленный тип поля, представленного этим объектом Field. Если объявленный тип поля является параметризованным типом, возвращённый объект Type должен точно отражать аргументы типа, использованные в исходном коде.
Если тип базового поля является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Возвращает:
- объект
Type, представляющий объявленный тип поля, представленного этим объектомField - Исключения:
-
GenericSignatureFormatError— если обобщённая сигнатура поля не соответствует формату, указанному в Спецификации виртуальной машины Java -
TypeNotPresentException— если сигнатура обобщённого типа базового поля ссылается на несуществующее объявление класса или интерфейса -
MalformedParameterizedTypeException— если обобщённая сигнатура базового поля ссылается на параметризованный тип, который по какой-либо причине невозможно создать - Появился в версии:
- 1.5
equals
public boolean equals(Object obj)
Field с указанным объектом. Возвращает true, если объекты совпадают. Два объекта Field совпадают, если они объявлены одним и тем же классом и имеют одинаковые имя и тип.hashCode
toString
public String toString()
Field. Формат: модификаторы доступа поля, если они есть, затем тип поля, пробел, полное имя класса, объявляющего поле, точка и имя поля. Например: public static final int java.lang.Thread.MIN_PRIORITY private int java.io.FileDescriptor.fd
Модификаторы располагаются в каноническом порядке, определённом «Спецификацией языка Java». Сначала указывается public, protected или private, а затем остальные модификаторы в следующем порядке: static, final, transient, volatile.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строку с описанием этого объекта
Field - См. Спецификацию языка Java:
- 8.3.1 Модификаторы полей
toGenericString
public String toGenericString()
Field, включая его обобщённый тип. Формат: модификаторы доступа поля, если они есть, затем обобщённый тип поля, пробел, полное имя класса, объявляющего поле, точка и имя поля. Модификаторы располагаются в каноническом порядке, определённом «Спецификацией языка Java». Сначала указывается public, protected или private, а затем остальные модификаторы в следующем порядке: static, final, transient, volatile.
- Возвращает:
- строку с описанием этого объекта
Field, включая его обобщённый тип - См. Спецификацию языка Java:
- 8.3.1 Модификаторы полей
- Появился в версии:
- 1.5
get
public Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
Field, для указанного объекта. Если значение имеет примитивный тип, оно автоматически упаковывается в объект. Значение базового поля получается следующим образом:
Если базовое поле является статическим, аргумент obj игнорируется; он может быть равен null.
В противном случае базовое поле является полем экземпляра. Если указанный аргумент obj равен null, метод выбрасывает NullPointerException. Если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле, метод выбрасывает IllegalArgumentException.
Если этот объект Field обеспечивает контроль доступа языка Java, а базовое поле недоступно, метод выбрасывает IllegalAccessException. Если базовое поле является статическим, класс, объявивший поле, инициализируется, если он ещё не был инициализирован.
В противном случае значение извлекается из базового поля экземпляра или статического поля. Если поле имеет примитивный тип, перед возвратом значение упаковывается в объект; иначе оно возвращается без изменений.
Если поле скрыто в типе obj, его значение получается согласно приведённым выше правилам.
- Параметры:
-
obj— объект, из которого извлекается значение представленного поля - Возвращает:
- значение представленного поля объекта
obj; перед возвратом примитивные значения упаковываются в соответствующий объект - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией). -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой.
getBoolean
public boolean getBoolean(Object obj) throws IllegalArgumentException, IllegalAccessException
boolean.- Параметры:
-
obj— объект, из которого извлекается значениеboolean - Возвращает:
- значение поля типа
boolean - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуbooleanпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getByte
public byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException
byte.- Параметры:
-
obj— объект, из которого извлекается значениеbyte - Возвращает:
- значение поля типа
byte - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуbyteпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getChar
public char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException
char либо другого примитивного типа, который можно преобразовать к типу char посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеchar - Возвращает:
- значение поля, преобразованное к типу
char - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуcharпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getShort
public short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException
short либо другого примитивного типа, который можно преобразовать к типу short посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеshort - Возвращает:
- значение поля, преобразованное к типу
short - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуshortпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getInt
public int getInt(Object obj) throws IllegalArgumentException, IllegalAccessException
int либо другого примитивного типа, который можно преобразовать к типу int посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеint - Возвращает:
- значение поля, преобразованное к типу
int - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуintпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getLong
public long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException
long либо другого примитивного типа, который можно преобразовать к типу long посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеlong - Возвращает:
- значение поля, преобразованное к типу
long - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуlongпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getFloat
public float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException
float либо другого примитивного типа, который можно преобразовать к типу float посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеfloat - Возвращает:
- значение поля, преобразованное к типу
float - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуfloatпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
getDouble
public double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException
double либо другого примитивного типа, который можно преобразовать к типу double посредством расширяющего преобразования.- Параметры:
-
obj— объект, из которого извлекается значениеdouble - Возвращает:
- значение поля, преобразованное к типу
double - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если значение поля нельзя преобразовать к типуdoubleпосредством расширяющего преобразования. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается с ошибкой. - См. также:
set
public void set(Object obj, Object value) throws IllegalArgumentException, IllegalAccessException
Field, указанное новое значение в заданном объекте-аргументе. Новое значение автоматически распаковывается, если базовое поле имеет примитивный тип. Операция выполняется следующим образом:
Если базовое поле является статическим, аргумент obj игнорируется; он может быть равен null.
В противном случае базовое поле является полем экземпляра. Если указанный объект-аргумент равен null, метод выбрасывает NullPointerException. Если указанный объект-аргумент не является экземпляром класса или интерфейса, объявляющего базовое поле, метод выбрасывает IllegalArgumentException.
Если этот объект Field обеспечивает контроль доступа языка Java и базовое поле недоступно, метод выбрасывает IllegalAccessException.
Если базовое поле является final, этот объект Field имеет доступ на запись тогда и только тогда, когда выполнены следующие условия:
-
setAccessible(true)успешно выполнен для этого объектаField; - поле не является статическим; и
- класс, объявляющий поле, не является скрытым классом; и
- класс, объявляющий поле, не является классом-записью.
IllegalAccessException. Установка final-поля таким способом имеет смысл только во время десериализации или восстановления экземпляров классов с неинициализированными final-полями, до того как они станут доступны для использования другими частями программы. Использование в любом другом контексте может привести к непредсказуемым последствиям, в том числе к тому, что другие части программы продолжат использовать исходное значение этого поля.
Если базовое поле имеет примитивный тип, выполняется попытка распаковки нового значения в значение примитивного типа. Если эта попытка завершается неудачей, метод выбрасывает IllegalArgumentException.
Если после возможной распаковки новое значение нельзя преобразовать к типу базового поля с помощью тождественного или расширяющего преобразования, метод выбрасывает IllegalArgumentException.
Если базовое поле является статическим, класс, объявляющий это поле, инициализируется, если он ещё не был инициализирован.
Полю присваивается новое значение после возможной распаковки и расширяющего преобразования.
Если поле скрыто в типе obj, его значение устанавливается согласно приведённым выше правилам.
- Параметры:
-
obj— объект, поле которого следует изменить -
value— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей.
setBoolean
public void setBoolean(Object obj, boolean z) throws IllegalArgumentException, IllegalAccessException
boolean в указанном объекте. Этот метод эквивалентен set(obj, zObj), где zObj — объект Boolean, а zObj.booleanValue() == z.- Параметры:
-
obj— объект, поле которого следует изменить -
z— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setByte
public void setByte(Object obj, byte b) throws IllegalArgumentException, IllegalAccessException
byte в указанном объекте. Этот метод эквивалентен set(obj, bObj), где bObj — объект Byte, а bObj.byteValue() == b.- Параметры:
-
obj— объект, поле которого следует изменить -
b— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setChar
public void setChar(Object obj, char c) throws IllegalArgumentException, IllegalAccessException
char в указанном объекте. Этот метод эквивалентен set(obj, cObj), где cObj — объект Character, а cObj.charValue() == c.- Параметры:
-
obj— объект, поле которого следует изменить -
c— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setShort
public void setShort(Object obj, short s) throws IllegalArgumentException, IllegalAccessException
short в указанном объекте. Этот метод эквивалентен set(obj, sObj), где sObj — объект Short, а sObj.shortValue() == s.- Параметры:
-
obj— объект, поле которого следует изменить -
s— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setInt
public void setInt(Object obj, int i) throws IllegalArgumentException, IllegalAccessException
int в указанном объекте. Этот метод эквивалентен set(obj, iObj), где iObj — объект Integer, а iObj.intValue() == i.- Параметры:
-
obj— объект, поле которого следует изменить -
i— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setLong
public void setLong(Object obj, long l) throws IllegalArgumentException, IllegalAccessException
long в указанном объекте. Этот метод эквивалентен set(obj, lObj), где lObj — объект Long, а lObj.longValue() == l.- Параметры:
-
obj— объект, поле которого следует изменить -
l— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setFloat
public void setFloat(Object obj, float f) throws IllegalArgumentException, IllegalAccessException
float в указанном объекте. Этот метод эквивалентен set(obj, fObj), где fObj — объект Float, а fObj.floatValue() == f.- Параметры:
-
obj— объект, поле которого следует изменить -
f— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
setDouble
public void setDouble(Object obj, double d) throws IllegalArgumentException, IllegalAccessException
double в указанном объекте. Этот метод эквивалентен set(obj, dObj), где dObj — объект Double, а dObj.doubleValue() == d.- Параметры:
-
obj— объект, поле которого следует изменить -
d— новое значение для изменяемого поляobj - Исключения:
-
IllegalAccessException— если этот объектFieldобеспечивает контроль доступа языка Java, а базовое поле недоступно или является final; либо если этот объектFieldне имеет доступа на запись. -
IllegalArgumentException— если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подклассом либо реализацией), либо если распаковка завершается неудачей. -
NullPointerException— если указанный объект равен null, а поле является полем экземпляра. -
ExceptionInInitializerError— если инициализация, вызванная этим методом, завершается неудачей. - См. также:
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Обратите внимание, что любая аннотация, возвращённая этим методом, является аннотацией объявления.
- Указано в:
-
getAnnotationв интерфейсеAnnotatedElement - Переопределяет:
-
getAnnotationв классеAccessibleObject - Параметры типа:
T— тип аннотации, которую нужно найти и вернуть, если она присутствует- Параметры:
-
annotationClass— объект Class, соответствующий типу аннотации - Возвращает:
- аннотацию этого элемента для указанного типа аннотации, если она присутствует у этого элемента; в противном случае возвращает null
- Исключения:
-
NullPointerException— если указанный класс аннотации равен null - С версии:
- 1.5
getAnnotationsByType
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяемым типом аннотации (JLS 9.6), и, если да, пытается найти одну или несколько аннотаций этого типа, «заглядывая» в контейнерную аннотацию. Вызывающий этот метод код может изменять возвращённый массив; это не повлияет на массивы, возвращаемые другим вызывающим кодом. Обратите внимание, что любые аннотации, возвращённые этим методом, являются аннотациями объявления.
- Указано в:
-
getAnnotationsByTypeв интерфейсеAnnotatedElement - Переопределяет:
-
getAnnotationsByTypeв классеAccessibleObject - Параметры типа:
T— тип аннотации, которую нужно найти и вернуть, если она присутствует- Параметры:
-
annotationClass— объект Class, соответствующий типу аннотации - Возвращает:
- все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом; в противном случае массив нулевой длины
- Исключения:
-
NullPointerException— если указанный класс аннотации равен null - С версии:
- 1.8
getAnnotatedType
public AnnotatedType getAnnotatedType()
- Возвращает:
- объект, представляющий объявленный тип поля, представленного этим объектом Field
- С версии:
- 1.8
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/reflect/Field.html