Spec-Zone.ru › OpenJDK 21

Класс Поле

java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Field
Все реализованные интерфейсы:
AnnotatedElement, Member
public final class Field extends AccessibleObject implements Member
Объект Поле предоставляет информацию о и динамический доступ к одному полю класса или интерфейса. Отраженное поле может быть классовым (статическим) или экземпляром поля.

Объект Поле разрешает расширяющие преобразования во время операции доступа get или set, но генерирует исключение IllegalArgumentException, если произойдёт сужающее преобразование.

С тех пор как:
1.1
См. также:
  • Member
  • Class
  • Class.getFields()
  • Class.getField(String)
  • Class.getDeclaredFields()
  • Class.getDeclaredField(String)

Краткое описание полей

Поля, объявленные в интерфейсе java.lang.reflect.Member

DECLARED, PUBLIC

Краткое описание методов

Модификатор и тип Метод Описание
Set<AccessFlag> accessFlags()
Возвращает неизменяемый набор флагов доступа для данного поля, возможно пустой.
boolean equals(Object obj)
Сравнивает это Поле с указанным объектом.
Object get(Object obj)
Возвращает значение поля, представленного этим объектом, на указанном объекте.
AnnotatedType getAnnotatedType()
Возвращает объект AnnotatedType, представляющий использование типа для указания объявленного типа поля, представленного этим полем.
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
Возвращает аннотацию элемента для указанного типа, если такая аннотация присутствует, иначе null.
<T extends Annotation>
T[]
getAnnotationsByType(Class<T> annotationClass)
Возвращает аннотации, ассоциированные с этим элементом.
boolean getBoolean(Object obj)
Получает значение статического или экземпляра поля.
byte getByte(Object obj)
Получает значение статического или экземпляра поля.
char getChar(Object obj)
Получает значение статического или экземпляра поля типа char или другого примитивного типа, преобразуемого к типу char путём расширяющего преобразования.
Class<?> getDeclaringClass()
Возвращает объект класса или интерфейса, объявляющего поле, представленное этим объектом.
double getDouble(Object obj)
Получает значение статического или экземпляра поля типа double или другого примитивного типа, преобразуемого к типу double путём расширяющего преобразования.
float getFloat(Object obj)
Получает значение статического или экземпляра поля типа float или другого примитивного типа, преобразуемого к типу float путём расширяющего преобразования.
Type getGenericType()
Возвращает объект Type, представляющий объявленный тип для поля, представленного этим объектом.
int getInt(Object obj)
Получает значение статического или экземпляра поля типа int или другого примитивного типа, преобразуемого к типу int путём расширяющего преобразования.
long getLong(Object obj)
Получает значение статического или экземпляра поля типа long или другого примитивного типа, преобразуемого к типу long путём расширяющего преобразования.
int getModifiers()
Возвращает модификаторы языка Java для поля, представленного этим объектом, как целое число.
String getName()
Возвращает имя поля, представленного этим объектом.
short getShort(Object obj)
Получает значение статического или экземпляра поля типа short или другого примитивного типа, преобразуемого к типу short путём расширяющего преобразования.
Class<?> getType()
Возвращает объект Type, идентифицирующий объявленный тип для поля, представленного этим объектом.
int hashCode()
Возвращает хэш-код для этого поля.
boolean isEnumConstant()
Возвращает true , если это поле представляет элемент перечисления; возвращает false в противном случае.
boolean isSynthetic()
Возвращает true , если это поле является синтетическим; возвращает false в противном случае.
void set(Object obj, Object value)
Устанавливает поле, представленное этим объектом, на указанном объекте в указанное новое значение.
void setAccessible(boolean flag)
Устанавливает флаг доступности для этого объекта reflection в указанное булево значение.
void setBoolean(Object obj, boolean z)
Устанавливает значение поля как boolean на указанном объекте.
void setByte(Object obj, byte b)
Устанавливает значение поля как byte на указанном объекте.
void setChar(Object obj, char c)
Устанавливает значение поля как char на указанном объекте.
void setDouble(Object obj, double d)
Устанавливает значение поля как double на указанном объекте.
void setFloat(Object obj, float f)
Устанавливает значение поля как float на указанном объекте.
void setInt(Object obj, int i)
Устанавливает значение поля как int на указанном объекте.
void setLong(Object obj, long l)
Устанавливает значение поля как long на указанном объекте.
void setShort(Object obj, short s)
Устанавливает значение поля как short на указанном объекте.
String toGenericString()
Возвращает строку, описывающую это Поле, включая его тип дженериков.
String toString()
Возвращает строку, описывающую это Поле.

Методы, объявленные в классе java.lang.reflect.AccessibleObject

canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, trySetAccessible

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

setAccessible

public void setAccessible(boolean flag)
Описание скопировано из класса: AccessibleObject
Установите флаг accessible для этого отражённого объекта на указанное булевое значение. Значение true указывает, что отражённый объект должен подавлять проверки контроля доступа языка Java, когда он используется. Значение false указывает, что отражённый объект должен применять проверки контроля доступа языка Java, когда он используется, с различием, указанным в описании класса.

Этот метод может использоваться вызывающим объектом в классе C для предоставления доступа к member объекта declaring class D при выполнении любого из следующих условий:

  • C и D находятся в одном модуле.
  • Член является public, и D находится в пакете, в котором модуль, содержащий D, exports по крайней мере для модуля, содержащего C.
  • Член является protected static, D находится в пакете, в котором модуль, содержащий D экспортирует по крайней мере для модуля, содержащего C, и C является подклассом D.
  • D находится в пакете, в котором модуль, содержащий D opens по крайней мере для модуля, содержащего C. Все пакеты в безымянных и открытых модулях открыты для всех модулей, поэтому этот метод всегда выполняется успешно, когда D находится в безымянном или открытом модуле.

Этот метод может использоваться кодом JNI без вызывающего класса в стеке для предоставления доступа к member объекта declaring class D только в том случае, если:

  • Член является public и D находится в пакете, в котором модуль, содержащий D exports безусловно.

Этот метод не может быть использован для предоставления доступа к приватным членам, членам с доступом по умолчанию (пакетному), защищенным экземплярам или защищенным конструкторам, когда декларирующий класс находится в другом модуле по сравнению с вызывающим объектом, и пакет, содержащий декларирующий класс, не открыт для модуля вызывающего объекта.

Этот метод не может быть использован для предоставления доступа к записи в неизменяемое конечное поле. Следующие поля не изменяются:

  • статические конечные поля, объявленные в любом классе или интерфейсе
  • конечные поля, объявленные в скрытом классе
  • конечные поля, объявленные в записи

Флаг accessible, когда true, подавляет проверки контроля доступа языка Java, чтобы предоставить только чтение доступа к этим неизменяемым конечным полям.

Если существует менеджер безопасности, его метод checkPermission сначала вызывается с разрешением ReflectPermission("suppressAccessChecks").

Overrides:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение флага accessible
Исключения:
InaccessibleObjectException - если доступ не может быть предоставлен
SecurityException - если запрос отклонен менеджером безопасности
Внешние спецификации
  • Спецификация Java Native Interface
См. также:
  • AccessibleObject.trySetAccessible()
  • MethodHandles.privateLookupIn(java.lang.Class<?>, java.lang.invoke.MethodHandles.Lookup)

getDeclaringClass

public Class<?> getDeclaringClass()
Возвращает объект Class, представляющий класс или интерфейс, который объявляет поле, представленное этим объектом Field.
Определено в:
getDeclaringClass в интерфейсе Member
Возвращает:
объект, представляющий декларирующий класс базового члена

getName

public String getName()
Возвращает имя поля, представленного этим объектом Field.
Определено в:
getName в интерфейсе Member
Возвращает:
простое имя базового члена

getModifiers

public int getModifiers()
Возвращает модификаторы языка Java для поля, представленного этим объектом Field в виде целого числа. Для декодирования модификаторов следует использовать класс Modifier.
Определено в:
getModifiers в интерфейсе Member
Возвращает:
модификаторы языка Java для базового члена
См. Спецификацию языка Java:
8.3 Объявления полей
9.3 Объявления полей (констант)
См. также:
  • Modifier
  • accessFlags()

accessFlags

public Set<AccessFlag> accessFlags()
Возвращает неизменяемый набор флагов доступа для этого поля, возможно пустой.
Определено в:
accessFlags в интерфейсе Member
Возвращает:
неизменяемый набор флагов доступа для этого поля, возможно пустой
См. Спецификацию виртуальной машины Java:
4.5 Поля
С:
20
См. также:
  • getModifiers()

isEnumConstant

public boolean isEnumConstant()
Возвращает true , если это поле представляет элемент перечисления; возвращает false в противном случае.
Возвращает:
true тогда и только тогда, когда это поле представляет элемент перечисления.
См. Спецификацию языка Java:
8.9.1 Константы перечисления
С:
1.5

isSynthetic

public boolean isSynthetic()
Возвращает true , если это поле является синтетическим; возвращает false в противном случае.
Определено в:
isSynthetic в интерфейсе Member
Возвращает:
истинно, если и только если это поле является синтетическим по определению спецификации языка Java.
С:
1.5
См. также:
  • Моделирование языка программирования Java и JVM в ядре отражения

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 в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для этого Field. Он вычисляется как исключающее ИЛИ хэш-кодов имени класса объявляющего поле и его имени.
Overrides:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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 - если инициализация, вызванная этим методом, завершается неудачно.
См. также:
  • get(java.lang.Object)

getByte

public byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра byte поля.
Параметры:
obj - объект для извлечения значения byte
Возвращает:
значение поля byte
Бросает:
IllegalAccessException - если этот Field объект проверяет контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подкласса или реализующего интерфейс), или если значение поля не может быть преобразовано в тип byte посредством расширяющего преобразования.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
См. также:
  • get(java.lang.Object)

getChar

public char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа char или другого примитивного типа, преобразуемого в тип char посредством расширяющего преобразования.
Параметры:
obj - объект для извлечения значения char
Возвращает:
значение поля, преобразованное в тип char
Бросает:
IllegalAccessException - если этот Field объект проверяет контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подкласса или реализующего интерфейс), или если значение поля не может быть преобразовано в тип char посредством расширяющего преобразования.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
См. также:
  • get(java.lang.Object)

getShort

public short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа short или другого примитивного типа, преобразуемого в тип short посредством расширяющего преобразования.
Параметры:
obj - объект для извлечения значения short
Возвращает:
значение поля, преобразованное в тип short
Бросает:
IllegalAccessException - если этот Field объект проверяет контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подкласса или реализующего интерфейс), или если значение поля не может быть преобразовано в тип short посредством расширяющего преобразования.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
См. также:
  • get(java.lang.Object)

getInt

public int getInt(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа int или другого примитивного типа, преобразуемого к типу int с помощью преобразования расширения.
Параметры:
obj - объект для извлечения значения int
Возвращает:
значение поля, преобразованное к типу int
Изволяет:
IllegalAccessException - если этот объект Field выполняет проверку доступа языка Java и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если значение поля не может быть преобразовано к типу int с помощью преобразования расширения.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершилась неудачно.
См. также:
  • get(java.lang.Object)

getLong

public long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа long или другого примитивного типа, преобразуемого к типу long с помощью преобразования расширения.
Параметры:
obj - объект для извлечения значения long
Возвращает:
значение поля, преобразованное к типу long
Изволяет:
IllegalAccessException - если этот объект Field выполняет проверку доступа языка Java и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если значение поля не может быть преобразовано к типу long с помощью преобразования расширения.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершилась неудачно.
См. также:
  • get(java.lang.Object)

getFloat

public float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа float или другого примитивного типа, преобразуемого к типу float с помощью преобразования расширения.
Параметры:
obj - объект для извлечения значения float
Возвращает:
значение поля, преобразованное к типу float
Изволяет:
IllegalAccessException - если этот объект Field выполняет проверку доступа языка Java и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если значение поля не может быть преобразовано к типу float с помощью преобразования расширения.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершилась неудачно.
См. также:
  • get(java.lang.Object)

getDouble

public double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа double или другого примитивного типа, преобразуемого к типу double с помощью преобразования расширения.
Параметры:
obj - объект для извлечения значения double
Возвращает:
значение поля, преобразованное к типу double
Изволяет:
IllegalAccessException - если этот объект Field выполняет проверку доступа языка Java и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если значение поля не может быть преобразовано к типу double с помощью преобразования расширения.
NullPointerException - если указанный объект равен null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершилась неудачно.
См. также:
  • get(java.lang.Object)

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 - если инициализация, вызванная этим методом, завершилась неудачно.
См. также:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

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:
  • set(java.lang.Object, java.lang.Object)

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует, иначе null.

Обратите внимание, что любая аннотация, возвращаемая этим методом, является аннотацией объявления.

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)
Возвращает аннотации, которые связаны с этим элементом. Если с этим элементом не связаны никакие аннотации, значение возврата — массив длиной 0. Разница между этим методом и AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяющимся типом аннотации (JLS 9.6), и если да, то пытается найти одну или несколько аннотаций этого типа, «просмотрев» контейнерную аннотацию. Вызывающий метод свободен изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

Обратите внимание, что любые аннотации, возвращаемые этим методом, являются аннотациями объявления.

Specified by:
getAnnotationsByType in interface AnnotatedElement
Overrides:
getAnnotationsByType in class AccessibleObject
Type Parameters:
T - тип аннотации, для запроса и возврата, если она присутствует
Parameters:
annotationClass - объект Class, соответствующий типу аннотации
Returns:
все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом, иначе массив длиной ноль
Throws:
NullPointerException - если заданный класс аннотации равен null
Since:
1.8

getAnnotatedType

public AnnotatedType getAnnotatedType()
Возвращает объект AnnotatedType, представляющий использование типа для указания объявленного типа поля, представленного этим объектом Field.
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API