-
- All Superinterfaces:
-
Mirror
,ObjectReference
,Value
public interface ArrayReference extends ObjectReference
- 从以下版本开始:
- 1.3
-
-
字段汇总
-
Fields declared in interface 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
-
-
-
-
方法详细信息
-
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()
-
-