Класс Поле
- Все реализованные интерфейсы:
-
AnnotatedElement,Member
public final class Field extends AccessibleObject implements Member
Объект Поле разрешает расширяющие преобразования во время операции доступа get или set, но генерирует исключение IllegalArgumentException, если произойдёт сужающее преобразование.
- С тех пор как:
- 1.1
- См. также:
Краткое описание полей
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Set |
accessFlags() |
Возвращает неизменяемый набор флагов доступа для данного поля, возможно пустой. |
boolean |
equals |
Сравнивает это Поле с указанным объектом. |
Object |
get |
Возвращает значение поля, представленного этим объектом, на указанном объекте. |
AnnotatedType |
getAnnotatedType() |
Возвращает объект AnnotatedType, представляющий использование типа для указания объявленного типа поля, представленного этим полем. |
<T extends Annotation> |
getAnnotation |
Возвращает аннотацию элемента для указанного типа, если такая аннотация присутствует, иначе null. |
<T extends Annotation> |
getAnnotationsByType |
Возвращает аннотации, ассоциированные с этим элементом. |
boolean |
getBoolean |
Получает значение статического или экземпляра поля. |
byte |
getByte |
Получает значение статического или экземпляра поля. |
char |
getChar |
Получает значение статического или экземпляра поля типа char или другого примитивного типа, преобразуемого к типу char путём расширяющего преобразования. |
Class |
getDeclaringClass() |
Возвращает объект класса или интерфейса, объявляющего поле, представленное этим объектом. |
double |
getDouble |
Получает значение статического или экземпляра поля типа double или другого примитивного типа, преобразуемого к типу double путём расширяющего преобразования. |
float |
getFloat |
Получает значение статического или экземпляра поля типа float или другого примитивного типа, преобразуемого к типу float путём расширяющего преобразования. |
Type |
getGenericType() |
Возвращает объект Type, представляющий объявленный тип для поля, представленного этим объектом. |
int |
getInt |
Получает значение статического или экземпляра поля типа int или другого примитивного типа, преобразуемого к типу int путём расширяющего преобразования. |
long |
getLong |
Получает значение статического или экземпляра поля типа long или другого примитивного типа, преобразуемого к типу long путём расширяющего преобразования. |
int |
getModifiers() |
Возвращает модификаторы языка Java для поля, представленного этим объектом, как целое число. |
String |
getName() |
Возвращает имя поля, представленного этим объектом. |
short |
getShort |
Получает значение статического или экземпляра поля типа short или другого примитивного типа, преобразуемого к типу short путём расширяющего преобразования. |
Class |
getType() |
Возвращает объект Type, идентифицирующий объявленный тип для поля, представленного этим объектом. |
int |
hashCode() |
Возвращает хэш-код для этого поля. |
boolean |
isEnumConstant() |
Возвращает true , если это поле представляет элемент перечисления; возвращает false в противном случае. |
boolean |
isSynthetic() |
Возвращает true , если это поле является синтетическим; возвращает false в противном случае. |
void |
set |
Устанавливает поле, представленное этим объектом, на указанном объекте в указанное новое значение. |
void |
setAccessible |
Устанавливает флаг доступности для этого объекта reflection в указанное булево значение. |
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() |
Возвращает строку, описывающую это Поле, включая его тип дженериков. |
String |
toString() |
Возвращает строку, описывающую это Поле. |
Методы, объявленные в классе java.lang.reflect.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находится в пакете, в котором модуль, содержащийD,exportsпо крайней мере для модуля, содержащегоC. - Член является
protectedstatic,Dнаходится в пакете, в котором модуль, содержащийDэкспортирует по крайней мере для модуля, содержащегоC, иCявляется подклассомD. -
Dнаходится в пакете, в котором модуль, содержащийDopensпо крайней мере для модуля, содержащегоC. Все пакеты в безымянных и открытых модулях открыты для всех модулей, поэтому этот метод всегда выполняется успешно, когдаDнаходится в безымянном или открытом модуле.
Этот метод может использоваться кодом JNI без вызывающего класса в стеке для предоставления доступа к member объекта declaring class D только в том случае, если:
- Член является
publicиDнаходится в пакете, в котором модуль, содержащийDexportsбезусловно.
Этот метод не может быть использован для предоставления доступа к приватным членам, членам с доступом по умолчанию (пакетному), защищенным экземплярам или защищенным конструкторам, когда декларирующий класс находится в другом модуле по сравнению с вызывающим объектом, и пакет, содержащий декларирующий класс, не открыт для модуля вызывающего объекта.
Этот метод не может быть использован для предоставления доступа к записи в неизменяемое конечное поле. Следующие поля не изменяются:
- статические конечные поля, объявленные в любом классе или интерфейсе
- конечные поля, объявленные в скрытом классе
- конечные поля, объявленные в записи
Флаг accessible, когда true, подавляет проверки контроля доступа языка Java, чтобы предоставить только чтение доступа к этим неизменяемым конечным полям.
Если существует менеджер безопасности, его метод checkPermission сначала вызывается с разрешением ReflectPermission("suppressAccessChecks").
- Overrides:
-
setAccessibleв классеAccessibleObject - Параметры:
-
flag- новое значение флагаaccessible - Исключения:
-
InaccessibleObjectException- если доступ не может быть предоставлен -
SecurityException- если запрос отклонен менеджером безопасности - Внешние спецификации
- См. также:
getDeclaringClass
public Class<?> getDeclaringClass()
Class, представляющий класс или интерфейс, который объявляет поле, представленное этим объектом Field.- Определено в:
-
getDeclaringClassв интерфейсеMember - Возвращает:
- объект, представляющий декларирующий класс базового члена
getName
public String getName()
Field.- Определено в:
-
getNameв интерфейсеMember - Возвращает:
- простое имя базового члена
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 - Возвращает:
- истинно, если и только если это поле является синтетическим по определению спецификации языка 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 идентичны, если они были объявлены одним классом и имеют одинаковое имя и тип.- Overrides:
-
equalsв классеObject - Параметры:
-
obj- объект-ссылка для сравнения. - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
hashCode
public int hashCode()
Field. Он вычисляется как исключающее ИЛИ хэш-кодов имени класса объявляющего поле и его имени.- Overrides:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
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.
- Overrides:
-
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.
Если базовое поле является конечным, этот объект Field имеет доступ для записи только и если выполнены следующие условия:
-
setAccessible(true)успешно для этого объектаField; - поле не статическое; и
- декларирующий класс поля не является скрытым классом; и
- декларирующий класс поля не является классом записи.
IllegalAccessException. Установка конечного поля таким способом имеет смысл только во время десериализации или реконструкции экземпляров классов с пустыми конечными полями, прежде чем они станут доступными для доступа другим частям программы. Использование в любом другом контексте может иметь непредсказуемые последствия, включая случаи, когда другие части программы продолжают использовать исходное значение этого поля.
Если базовое поле имеет примитивный тип, выполняется попытка распаковки преобразования для преобразования нового значения в значение примитивного типа. Если эта попытка завершается неудачно, метод выбрасывает IllegalArgumentException.
Если после возможной распаковки новое значение не может быть преобразовано в тип базового поля с помощью идентичного или расширяющего преобразования, метод выбрасывает IllegalArgumentException.
Если базовое поле статическое, класс, который объявил поле, инициализируется, если он еще не был инициализирован.
Поле устанавливается на возможно распакованное и расширенное новое значение.
Если поле скрыто в типе obj, значение поля устанавливается в соответствии с приведенными выше правилами.
- Параметры:
-
obj- объект, чье поле должно быть изменено -
value- новое значение для поляobj, которое изменяется - Изволяет:
-
IllegalAccessException- если этот объектFieldвыполняет проверку доступа языка Java и базовое поле недоступно или является конечным; или если у этого объекта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 и базовое поле либо недоступно, либо является конечным; или если у этого объекта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. - Parameters:
-
obj- объект, поле которого должно быть изменено -
b- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setChar
public void setChar(Object obj, char c) throws IllegalArgumentException, IllegalAccessException
char на указанном объекте. Этот метод эквивалентен set(obj, cObj), где cObj — объект типа Character и cObj.charValue() == c. - Parameters:
-
obj- объект, поле которого должно быть изменено -
c- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setShort
public void setShort(Object obj, short s) throws IllegalArgumentException, IllegalAccessException
short на указанном объекте. Этот метод эквивалентен set(obj, sObj), где sObj — объект типа Short и sObj.shortValue() == s. - Parameters:
-
obj- объект, поле которого должно быть изменено -
s- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setInt
public void setInt(Object obj, int i) throws IllegalArgumentException, IllegalAccessException
int на указанном объекте. Этот метод эквивалентен set(obj, iObj), где iObj — объект типа Integer и iObj.intValue() == i. - Parameters:
-
obj- объект, поле которого должно быть изменено -
i- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setLong
public void setLong(Object obj, long l) throws IllegalArgumentException, IllegalAccessException
long на указанном объекте. Этот метод эквивалентен set(obj, lObj), где lObj — объект типа Long и lObj.longValue() == l. - Parameters:
-
obj- объект, поле которого должно быть изменено -
l- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setFloat
public void setFloat(Object obj, float f) throws IllegalArgumentException, IllegalAccessException
float на указанном объекте. Этот метод эквивалентен set(obj, fObj), где fObj — объект типа Float и fObj.floatValue() == f. - Parameters:
-
obj- объект, поле которого должно быть изменено -
f- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
setDouble
public void setDouble(Object obj, double d) throws IllegalArgumentException, IllegalAccessException
double на указанном объекте. Этот метод эквивалентен set(obj, dObj), где dObj — объект типа Double и dObj.doubleValue() == d. - Parameters:
-
obj- объект, поле которого должно быть изменено -
d- новое значение для поляobj, которое изменяется - Throws:
-
IllegalAccessException- если этот объектFieldобеспечивает контроль доступа языка Java, и базовое поле недоступно или является final; или если у этого объектаFieldнет доступа для записи. -
IllegalArgumentException- если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подклассом или реализующим его интерфейс), или если преобразование распаковки завершается неудачно. -
NullPointerException- если указанный объект null, а поле — поле экземпляра. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно. - See Also:
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Обратите внимание, что любая аннотация, возвращаемая этим методом, является аннотацией объявления.
- Specified by:
-
getAnnotationв интерфейсеAnnotatedElement - Overrides:
-
getAnnotationв классеAccessibleObject - Type Parameters:
-
T- тип аннотации, для которой выполняется запрос и возвращается, если она присутствует - Parameters:
-
annotationClass- объект Class, соответствующий типу аннотации - Returns:
- аннотация этого элемента для указанного типа аннотации, если она присутствует в этом элементе, иначе null
- Throws:
-
NullPointerException- если заданный класс аннотации null - Since:
- 1.5
getAnnotationsByType
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяющимся типом аннотации (JLS 9.6), и если да, то пытается найти одну или несколько аннотаций этого типа, «просмотрев» контейнерную аннотацию. Вызывающий метод свободен изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам. Обратите внимание, что любые аннотации, возвращаемые этим методом, являются аннотациями объявления.
- Specified by:
-
getAnnotationsByTypein interfaceAnnotatedElement - Overrides:
-
getAnnotationsByTypein classAccessibleObject - Type Parameters:
-
T- тип аннотации, для запроса и возврата, если она присутствует - Parameters:
-
annotationClass- объект Class, соответствующий типу аннотации - Returns:
- все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом, иначе массив длиной ноль
- Throws:
-
NullPointerException- если заданный класс аннотации равен null - Since:
- 1.8
getAnnotatedType
public AnnotatedType getAnnotatedType()
- Returns:
- объект, представляющий объявленный тип поля, представленного этим объектом Field
- Since:
- 1.8
© 1993, 2023, 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/21/docs/api/java.base/java/lang/reflect/Field.html