Интерфейс ArrayReference

Все суперинтерфейсы:
Mirror, ObjectReference, Value
public interface ArrayReference
extends ObjectReference

Предоставляет доступ к объекту массива и его компонентам в целевой виртуальной машине. Каждый компонент массива отображается объектом Value. Компоненты массива в совокупности размещаются в объектах List, а не в массивах для обеспечения согласованности с остальной частью API и для взаимодействия с другими API.

С:
1.3

Поля

Поля, объявленные в интерфейсе com.sun.jdi.ObjectReference

INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED

Методы

Модификатор и типМетодОписание
ValuegetValue​(int index)

Возвращает значение компонента массива.

List<Value>getValues()

Возвращает все компоненты в этом массиве.

List<Value>getValues​(int index, int length)

Возвращает диапазон компонентов массива.

intlength()

Возвращает количество компонентов в этом массиве.

voidsetValue​(int index, Value value)

Заменяет компонент массива другим значением.

voidsetValues​(int index, List<? extends Value> values, int srcIndex, int length)

Заменяет диапазон компонентов массива другими значениями.

voidsetValues​(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

Spec-Zone .ru
спецификации, руководства, описания, API