Spec-Zone.ru › OpenJDK 25

Интерфейс ArrayReference

Все суперинтерфейсы:
Mirror, ObjectReference, Value
public interface ArrayReference extends ObjectReference
Предоставляет доступ к объекту массива и его компонентам в целевой виртуальной машине. Каждый компонент массива представлен объектом Value. Все компоненты массива в совокупности помещаются в объекты List, а не в массивы, что обеспечивает согласованность с остальной частью API и взаимодействие с другими API.
Начиная с:
1.3

Краткое описание полей

Поля, объявленные в интерфейсе 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)
Заменяет все компоненты массива другими значениями.

Методы, объявленные в интерфейсе Mirror

toString, virtualMachine

Методы, объявленные в интерфейсе ObjectReference

disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads

Методы, объявленные в интерфейсе 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.

Параметры:
index — индекс устанавливаемого компонента
value — новое значение
Вызывает исключение:
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()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.jdi/com/sun/jdi/ArrayReference.html

Spec-Zone.ru

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