Интерфейс ArrayReference
- Все суперинтерфейсы:
Mirror, ObjectReference, Value
public interface ArrayReference extends ObjectReference
Value. Все компоненты массива в совокупности помещаются в объекты List, а не в массивы, чтобы обеспечить единообразие с остальной частью API и совместимость с другими API.- Начиная с:
- 1.3
Краткое описание полей
Поля, объявленные в интерфейсе ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
INVOKE_NONVIRTUAL |
Выполняет вызов невиртуального метода |
static final int |
INVOKE_SINGLE_THREADED |
Выполняет вызов метода, возобновляя только вызывающий поток |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Value |
getValue |
Возвращает значение компонента массива. |
List |
getValues() |
Возвращает все компоненты этого массива. |
List |
getValues |
Возвращает диапазон компонентов массива. |
int |
length() |
Возвращает количество компонентов в этом массиве. |
void |
setValue |
Заменяет компонент массива другим значением. |
void |
setValues |
Заменяет диапазон компонентов массива другими значениями. |
void |
setValues |
Заменяет все компоненты массива другими значениями. |
Методы, объявленные в интерфейсе Mirror
toString, virtualMachine | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
toString() |
Возвращает строку с описанием этого зеркала |
VirtualMachine |
virtualMachine() |
Возвращает VirtualMachine, которой принадлежит это зеркало. |
Методы, объявленные в интерфейсе ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
disableCollection() |
Предотвращает сборку мусора для этого объекта. |
void |
enableCollection() |
Разрешает сборку мусора для этого объекта. |
int |
entryCount() |
Возвращает количество раз, которое текущий владеющий поток входил в монитор этого объекта, если владеющий поток является потоком платформы; возвращает 0, если монитором не владеет поток платформы. |
boolean |
equals |
Сравнивает указанный объект с этим ObjectReference на равенство. |
Value |
getValue |
Получает значение заданного поля экземпляра или статического поля этого объекта. |
Map |
getValues |
Получает значения нескольких полей экземпляра и/или статических полей этого объекта. |
int |
hashCode() |
Возвращает значение хеш-кода для этого ObjectReference. |
Value |
invokeMethod |
Вызывает указанный Method для этого объекта в целевой виртуальной машине. |
boolean |
isCollected() |
Определяет, был ли этот объект собран сборщиком мусора в целевой виртуальной машине. |
ThreadReference |
owningThread() |
Возвращает ThreadReference потока платформы, если таковой имеется, который в данный момент владеет монитором этого объекта. |
ReferenceType |
referenceType() |
Получает ReferenceType, представляющий тип этого объекта. |
List |
referringObjects |
Возвращает объекты, непосредственно ссылающиеся на этот объект. |
void |
setValue |
Устанавливает значение заданного поля экземпляра или статического поля этого объекта. |
long |
uniqueID() |
Возвращает уникальный идентификатор этого ObjectReference. |
List |
waitingThreads() |
Возвращает список, содержащий ThreadReference для каждого потока платформы, который в данный момент ожидает монитор этого объекта. |
Подробное описание методов
length
int length()
- Возвращает:
- целое число, равное количеству компонентов в этом массиве.
getValue
Value getValue(int index)
- Параметры:
-
index— индекс извлекаемого компонента - Возвращает:
Valueс заданным индексом.- Вызывает исключение:
-
IndexOutOfBoundsException— еслиindexвыходит за пределы диапазона этого массива, то есть если выполняется любое из следующих условий:index < 0 index >=
length()
getValues
List<Value> getValues()
- Возвращает:
- список объектов
Value, по одному для каждого компонента массива, упорядоченных по индексу массива. Для массивов нулевой длины возвращается пустой список.
getValues
List<Value> getValues(int index, int length)
- Параметры:
-
index— индекс первого извлекаемого компонента -
length— количество извлекаемых компонентов или -1, чтобы извлечь все компоненты до конца этого массива. - Возвращает:
- список объектов
Value, по одному для каждого запрошенного компонента массива, упорядоченных по индексу массива. Если в указанном диапазоне нет элементов (например, еслиlengthравно нулю), возвращается пустой список. - Вызывает исключение:
-
IndexOutOfBoundsException— если диапазон, заданный с помощьюindexиlength, выходит за пределы диапазона массива, то есть если выполняется любое из следующих условий:index < 0 index >
или еслиlength()length != -1и выполняется любое из следующих условий:length < 0 index + length >
length()
setValue
void setValue(int index, Value value) throws InvalidTypeException, ClassNotLoadedException
Объектные значения должны быть совместимы с типом компонента при присваивании (это подразумевает, что тип компонента должен быть загружен загрузчиком классов объявляющего класса). Примитивные значения должны быть совместимы с типом компонента при присваивании либо преобразуемы к типу компонента без потери информации. Дополнительные сведения о совместимости при присваивании см. в разделе 5.2 JLS.
- Параметры:
-
index— индекс устанавливаемого компонента -
value— новое значение - Вызывает исключение:
-
IndexOutOfBoundsException— еслиindexвыходит за пределы диапазона этого массива, то есть если выполняется любое из следующих условий:index < 0 index >=
length() -
InvalidTypeException— если типvalueнесовместим с объявленным типом компонентов массива. -
ClassNotLoadedException— если тип компонента массива еще не загружен соответствующим загрузчиком классов. -
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.VirtualMachine.canBeModified(). - См. также:
setValues
void setValues(List<? extends Value> values) throws InvalidTypeException, ClassNotLoadedException
Объектные значения должны быть совместимы с типом элемента при присваивании (это подразумевает, что тип компонента должен быть загружен загрузчиком классов объемлющего класса). Примитивные значения должны быть совместимы с типом компонента при присваивании либо преобразуемы к типу компонента без потери информации. Дополнительные сведения о совместимости при присваивании см. в разделе 5.2 JLS.
- Параметры:
-
values— список объектовValue, которые нужно поместить в этот массив. Еслиvalues.size()меньше длины массива, устанавливаются первыеvalues.size()элементов. - Вызывает исключение:
-
InvalidTypeException— если любое из новых значенийvaluesнесовместимо с объявленным типом компонентов массива. -
ClassNotLoadedException— если тип компонента массива еще не загружен соответствующим загрузчиком классов. -
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.VirtualMachine.canBeModified(). - См. также:
setValues
void setValues(int index, List<? extends Value> values, int srcIndex, int length) throws InvalidTypeException, ClassNotLoadedException
Объектные значения должны быть совместимы с типом компонента при присваивании (это подразумевает, что тип компонента должен быть загружен загрузчиком классов объемлющего класса). Примитивные значения должны быть совместимы с типом компонента при присваивании либо преобразуемы к типу компонента без потери информации. Дополнительные сведения о совместимости при присваивании см. в разделе 5.2 JLS.
- Параметры:
-
index— индекс первого устанавливаемого компонента. -
values— список объектовValue, которые нужно поместить в этот массив. -
srcIndex— индекс первого используемого исходного значения. -
length— количество устанавливаемых компонентов или -1, чтобы установить все компоненты до конца этого массива либо до концаvalues(в зависимости от того, что наступит раньше). - Вызывает исключение:
-
InvalidTypeException— если любой элементvaluesнесовместим с объявленным типом компонентов массива. -
IndexOutOfBoundsException— если диапазон массива, заданный с помощьюindexиlength, выходит за пределы диапазона массива либо исходный диапазон, заданный с помощьюsrcIndexиlength, выходит за пределыvalues, то есть если выполняется любое из следующих условий:index < 0 index >
или еслиlength()srcIndex < 0 srcIndex > values.size()length != -1и выполняется любое из следующих условий:length < 0 index + length >
length()srcIndex + length > values.size() -
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.VirtualMachine.canBeModified(). ClassNotLoadedException- См. также:
© 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.