-
- All Superinterfaces:
-
Mirror
,ObjectReference
,Value
public interface ArrayReference extends ObjectReference
- 从以下版本开始:
- 1.3
-
-
Field Summary
-
Fields inherited from interface com.sun.jdi.ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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)
用其他值替换所有数组组件。-
Methods inherited from interface com.sun.jdi.Mirror
toString, virtualMachine
-
Methods inherited from interface com.sun.jdi.ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
-
-
-
-
方法详细信息
-
length
int length()
返回此数组中的组件数。- 结果
- 该数组中的组件的整数计数。
-
getValue
Value getValue(int index)
返回数组组件值。- 参数
-
index
- 要检索的组件的索引 - 结果
-
在指定的
Value
。 - 异常
-
IndexOutOfBoundsException
- 如果index
在此数组的范围之外,也就是说,如果满足以下任一条件:index < 0 index >=
length()
-
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
用另一个值替换数组组件。对象值必须与组件类型分配兼容(这意味着组件类型必须通过声明类的类加载器加载)。 原始值必须与组件类型兼容,或必须可转换为组件类型,而不会丢失信息。 有关分配兼容性的更多信息,请参阅JLS第5.2节。
- 参数
-
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
用其他值替换所有数组组件。 如果给定的列表的大小大于数组,列表末尾的值将被忽略。对象值必须与元素类型分配兼容(这意味着组件类型必须通过封闭类的加载器加载)。 原始值必须与组件类型兼容,或必须可转换为组件类型,而不会丢失信息。 有关分配兼容性的更多信息,请参阅JLS第5.2节。
- 参数
-
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
用其他值替换一系列阵列组件。对象值必须与组件类型分配兼容(这意味着组件类型必须通过封闭类的加载器加载)。 原始值必须与组件类型兼容,或必须可转换为组件类型,而不会丢失信息。 有关分配兼容性的更多信息,请参阅JLS第5.2节。
- 参数
-
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()
-
-