Spec-Zone.ru › OpenJDK 25

Класс Field

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

Объект Field допускает расширяющие преобразования при выполнении операции чтения или записи, но выбрасывает IllegalArgumentException, если требуется сужающее преобразование.

С версии:
1.1
См. также:
  • Member
  • Class
  • Class.getFields()
  • Class.getField(String)
  • Class.getDeclaredFields()
  • Class.getDeclaredField(String)

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

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

DECLARED, PUBLIC

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

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

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

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

Методы, объявленные в классе 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 является public в пакете, который модуль, содержащий D, exports как минимум модулю, содержащему C.
  • Член является protected static, 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 — если невозможно разрешить доступ
Внешние спецификации
  • Спецификация Java Native Interface
См. также:
  • AccessibleObject.trySetAccessible()
  • MethodHandles.privateLookupIn(Class, 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
Возвращает:
true тогда и только тогда, когда это поле является синтетическим полем в определении Спецификации языка Java.
Появился в версии:
1.5
См. также:
  • Моделирование языка программирования Java и JVM в базовом API рефлексии

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 совпадают, если они объявлены одним и тем же классом и имеют одинаковые имя и тип.
Переопределяет:
equals в классе Object
Параметры:
obj — объект-ссылка, с которым выполняется сравнение.
Возвращает:
true, если этот объект совпадает с аргументом obj; в противном случае — false.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

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

Переопределяет:
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(Object)

getByte

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

getChar

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

getShort

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

getInt

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

getLong

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

getFloat

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

getDouble

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

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

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

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

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

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

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

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

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

getAnnotation

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

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

Указано в:
getAnnotation в интерфейсе AnnotatedElement
Переопределяет:
getAnnotation в классе AccessibleObject
Параметры типа:
T — тип аннотации, которую нужно найти и вернуть, если она присутствует
Параметры:
annotationClass — объект Class, соответствующий типу аннотации
Возвращает:
аннотацию этого элемента для указанного типа аннотации, если она присутствует у этого элемента; в противном случае возвращает null
Исключения:
NullPointerException — если указанный класс аннотации равен null
С версии:
1.5

getAnnotationsByType

public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
Возвращает аннотации, связанные с этим элементом. Если с этим элементом не связано ни одной аннотации, возвращаемое значение — массив длины 0. Различие между этим методом и AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяемым типом аннотации (JLS 9.6), и, если да, пытается найти одну или несколько аннотаций этого типа, «заглядывая» в контейнерную аннотацию. Вызывающий этот метод код может изменять возвращённый массив; это не повлияет на массивы, возвращаемые другим вызывающим кодом.

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

Указано в:
getAnnotationsByType в интерфейсе AnnotatedElement
Переопределяет:
getAnnotationsByType в классе AccessibleObject
Параметры типа:
T — тип аннотации, которую нужно найти и вернуть, если она присутствует
Параметры:
annotationClass — объект Class, соответствующий типу аннотации
Возвращает:
все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом; в противном случае массив нулевой длины
Исключения:
NullPointerException — если указанный класс аннотации равен null
С версии:
1.8

getAnnotatedType

public AnnotatedType getAnnotatedType()
Возвращает объект AnnotatedType, представляющий использование типа для указания объявленного типа поля, представленного этим объектом Field.
Возвращает:
объект, представляющий объявленный тип поля, представленного этим объектом Field
С версии:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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