Spec-Zone.ru › OpenJDK 17

Класс 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

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

Модификатор и тип Метод Описание
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)
Получает значение статического или экземпляра поля.
byte getByte(Object obj)
Получает значение статического или экземпляра поля.
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()
Возвращает объект Type, определяющий объявленный тип для поля, представленного этим объектом Field.
int hashCode()
Возвращает хэш-код для этого объекта Field.
boolean isEnumConstant()
Возвращает true если это поле представляет элемент перечисления; в противном случае возвращает false.
boolean isSynthetic()
Возвращает true если это поле является синтетическим; в противном случае возвращает false.
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)
Устанавливает значение поля как 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.

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

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

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

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

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

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

Overrides:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение для флага accessible
Исключения:
InaccessibleObjectException - если доступ не может быть включён
SecurityException - если запрос отклоняется менеджером безопасности
См. также:
  • 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

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
Параметры:
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()
Возвращает строку, описывающую это поле. Формат: модификаторы доступа к полю (если есть), тип поля, пробел, полное имя класса, объявившего поле, точка и имя поля. Например:
    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
Возвращает:
строку, описывающую это поле
См. Спецификацию языка Java:
8.3.1 Модификаторы полей

toGenericString

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

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

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

get

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

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

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

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

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

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

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

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

getBoolean

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

getByte

public byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException
Получает значение статического или экземпляра поля byte.
Параметры:
obj - объект для извлечения значения byte
Возвращает:
значение поля byte
Исключения:
IllegalAccessException - если этот объект проверяет контроль доступа языка 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 - если этот объект проверяет контроль доступа языка 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 - если этот объект проверяет контроль доступа языка 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 - если этот объект проверяет контроль доступа языка Java, и базовое поле недоступно.
IllegalArgumentException - если указанный объект не является экземпляром класса или интерфейса, объявляющего базовое поле (или подкласса или реализующего его интерфейс), или если значение поля нельзя преобразовать в тип int с помощью расширяющего преобразования.
NullPointerException - если указанный объект равен null, а поле - поле экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачно.
См. также:
  • 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-поля таким способом имеет смысл только во время десериализации или реконструкции экземпляров классов с полями blank 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
Устанавливает значение поля в качестве символа на указанном объекте. Этот метод эквивалентен 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
Устанавливает значение поля в качестве короткого целого на указанном объекте. Этот метод эквивалентен 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
Устанавливает значение поля в качестве целого числа на указанном объекте. Этот метод эквивалентен 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
Устанавливает значение поля в качестве длинного целого на указанном объекте. Этот метод эквивалентен 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
Устанавливает значение поля в качестве числа с плавающей точкой на указанном объекте. Этот метод эквивалентен 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
Устанавливает значение поля в качестве двойного числа с плавающей точкой на указанном объекте. Этот метод эквивалентен 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 в интерфейсе AnnotatedElement
Overrides:
getAnnotationsByType в классе 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
END_OF_DOCUMENT_MARKER

© 1993, 2021, 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/17/docs/api/java.base/java/lang/reflect/Field.html

Spec-Zone.ru

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