Spec-Zone.ru › OpenJDK 24

Класс Field

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

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

С:
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)
Сравнивает этот объект Field с указанным объектом.
Object get(Object obj)
Возвращает значение поля, представленного этим объектом Field, на указанном объекте.
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)
Получает значение статического или экземпляра поля типа boolean или другого примитивного типа, преобразуемого к типу boolean посредством расширяющего преобразования.
Class<?> getDeclaringClass()
Возвращает объект Class, представляющий класс или интерфейс, объявляющий поле, представленное этим объектом Field.
double getDouble(Object obj)
Получает значение статического или экземпляра поля типа byte или другого примитивного типа, преобразуемого к типу byte посредством расширяющего преобразования.
float getFloat(Object obj)
Получает значение статического или экземпляра поля типа char или другого примитивного типа, преобразуемого к типу char посредством расширяющего преобразования.
Type getGenericType()
Возвращает объект Type, представляющий объявленный тип поля, представленного этим объектом Field.
int getInt(Object obj)
Получает значение статического или экземпляра поля типа short или другого примитивного типа, преобразуемого к типу short посредством расширяющего преобразования.
long getLong(Object obj)
Получает значение статического или экземпляра поля типа int или другого примитивного типа, преобразуемого к типу int посредством расширяющего преобразования.
int getModifiers()
Возвращает модификаторы языка Java для поля, представленного этим объектом Field, в виде целого числа.
String getName()
Возвращает имя поля, представленного этим объектом Field.
short getShort(Object obj)
Получает значение статического или экземпляра поля типа long или другого примитивного типа, преобразуемого к типу long посредством расширяющего преобразования.
Class<?> getType()
Возвращает объект Type, идентифицирующий объявленный тип для поля, представленного этим объектом Field.
int hashCode()
Возвращает хэш-код для этого объекта Field.
boolean isEnumConstant()
Возвращает CONSTANT_Fieldref, если это поле представляет элемент перечисления; в противном случае возвращает CONSTANT_Fieldref.
boolean isSynthetic()
Возвращает CONSTANT_Fieldref, если это поле является синтетическим полем; в противном случае возвращает CONSTANT_Fieldref.
void set(Object obj, Object value)
Устанавливает поле, представленное этим объектом Field, на указанный объект с указанным новым значением.
void setAccessible(boolean flag)
Устанавливает флаг доступности для данного отражаемого объекта.
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)
Устанавливает значение поля как short на указанном объекте.
void setFloat(Object obj, float f)
Устанавливает значение поля как int на указанном объекте.
void setInt(Object obj, int i)
Устанавливает значение поля как long на указанном объекте.
void setLong(Object obj, long l)
Устанавливает значение поля как float на указанном объекте.
void setShort(Object obj, short s)
Устанавливает значение поля как double на указанном объекте.
String toGenericString()
Возвращает строку, описывающую этот объект Field, включая его тип дженериков.
String toString()
Возвращает строку, описывающую этот объект Field.

Методы, объявленные в классе 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, чтобы включить только доступ для чтения к этим неизменяемым конечным полям.

Overrides:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение для флага accessible
Исключения:
InaccessibleObjectException - если доступ не может быть включен
Внешние спецификации
  • Спецификация 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
Возвращает:
true, если и только если это поле является синтетическим по определению Спецификации языка 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
Parameters:
obj - ссылка на объект для сравнения.
Returns:
true, если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

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

toGenericString

public String toGenericString()
Возвращает строку, описывающую этот Field, включая его обобщенный тип. Формат: модификаторы доступа к полю (если есть), обобщенный тип поля, пробел, полное квалифицированное имя класса, объявляющего поле, точка и имя поля.

Модификаторы упорядочены по каноническому порядку, как указано в "Спецификации языка Java". Это public, protected или private в первую очередь, а затем другие модификаторы в следующем порядке: static, final, transient, volatile.

Returns:
строка, описывающая этот Field, включая его обобщенный тип
См. Спецификацию языка Java:
8.3.1 Модификаторы полей
Since:
1.5

get

public Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
Возвращает значение поля, представленного этим Field, для указанного объекта. Значение автоматически обертывается в объект, если у него примитивный тип.

Значение базового поля извлекается следующим образом:

Если базовое поле статическое, аргумент obj игнорируется; он может быть null.

В противном случае, базовое поле — это поле экземпляра. Если указанный аргумент obj равен null, метод выбрасывает NullPointerException. Если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле, метод выбрасывает IllegalArgumentException.

Если этот Field объект обеспечивает контроль доступа языка Java, а базовое поле недоступно, метод выбрасывает IllegalAccessException. Если базовое поле статическое, класс, объявивший поле, инициализируется, если он еще не был инициализирован.

В противном случае значение извлекается из базового поля экземпляра или статического поля. Если поле имеет примитивный тип, значение обертывается в объект перед возвращением; в противном случае возвращается как есть.

Если поле скрыто в типе obj, значение поля извлекается по вышеописанным правилам.

Parameters:
obj - объект, из которого нужно извлечь значение представленного поля
Returns:
значение представленного поля в объекте obj; примитивные значения обернуты в соответствующие объекты перед возвращением
Throws:
IllegalAccessException - если этот Field объект обеспечивает контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или его подкласса или реализующего интерфейс).
NullPointerException - если указанный объект равен null, а поле — это поле экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.

getBoolean

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

getByte

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

getChar

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

getShort

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

getInt

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

getLong

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

getFloat

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

getDouble

public double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля типа double или другого примитивного типа, преобразуемого к типу double с помощью расширяющего преобразования.
Parameters:
obj - объект для извлечения значения double
Returns:
значение поля, преобразованное к типу double
Throws:
IllegalAccessException - если этот объект Field применяет контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если значение поля не может быть преобразовано к типу double с помощью расширяющего преобразования.
NullPointerException - если указанный объект null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
See Also:
  • get(java.lang.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, значение поля устанавливается в соответствии с предшествующими правилами.

Parameters:
obj - объект, чье поле должно быть изменено
value - новое значение поля obj, которое изменяется
Throws:
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.
Parameters:
obj - объект, чье поле должно быть изменено
z - новое значение поля obj, которое изменяется
Throws:
IllegalAccessException - если этот объект Field применяет контроль доступа языка Java, и базовое поле недоступно или является final; или если этот объект Field не имеет доступа к записи.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его), или если преобразование распаковки завершается неудачно.
NullPointerException - если указанный объект null, а поле является полем экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
See Also:
  • 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 in interface AnnotatedElement
Overrides:
getAnnotation in class 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), и если да, пытается найти одну или несколько аннотаций этого типа, «просматривая» контейнерную аннотацию. Вызывающий метод свободен изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

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

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

getAnnotatedType

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

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/reflect/Field.html

Spec-Zone.ru

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