Интерфейс ArrayReference
- Все суперинтерфейсы:
-
Mirror,ObjectReference,Value
public interface ArrayReference extends ObjectReference
Предоставляет доступ к объекту массива и его компонентам в целевой виртуальной машине. Каждый компонент массива отображается объектом Value. Компоненты массива в совокупности размещаются в объектах List, а не в массивах для обеспечения согласованности с остальной частью API и для взаимодействия с другими API.
- С:
- 1.3
Поля
Поля, объявленные в интерфейсе com.sun.jdi.ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADEDМетоды
| Модификатор и тип | Метод | Описание |
|---|---|---|
Value | getValue(int index) | Возвращает значение компонента массива. |
List<Value> | getValues() | Возвращает все компоненты в этом массиве. |
List<Value> | getValues(int index,
int length) | Возвращает диапазон компонентов массива. |
int | length() | Возвращает количество компонентов в этом массиве. |
void | setValue(int index,
Value value) | Заменяет компонент массива другим значением. |
void | setValues(int index,
List<? extends Value> values,
int srcIndex,
int length) | Заменяет диапазон компонентов массива другими значениями. |
void | setValues(List<? extends Value> values) | Заменяет все компоненты массива другими значениями. |
Методы, объявленные в интерфейсе com.sun.jdi.Mirror
toString, virtualMachineМетоды, объявленные в интерфейсе com.sun.jdi.ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreadsМетоды, объявленные в интерфейсе com.sun.jdi.Value
typeМетоды
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.
- Параметры:
-
value- новое значение -
index- индекс компонента для установки - Исключение:
-
IndexOutOfBoundsException- еслиindexнаходится вне диапазона этого массива, то есть, если одно из следующих условий истинно:index < 0 index >= length() -
InvalidTypeException- если типvalueне совместим с объявленным типом компонентов массива. -
ClassNotLoadedException- если тип компонента массива еще не загружен через соответствующий загрузчик классов. -
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.VirtualMachine.canBeModified(). - См. также:
ArrayType.componentType()
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(). - См. также:
ArrayType.componentType()
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- См. также:
ArrayType.componentType()
© 1993, 2020, 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/11/docs/api/jdk.jdi/com/sun/jdi/ArrayReference.html