- 所有超接口:
-
Mirror
,ObjectReference
,Value
- 自 JDK 版本:
- 1.3
-
Field Summary
Fields declared in interface com.sun.jdi.ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
-
Method Summary
Methods declared in interface com.sun.jdi.Mirror
toString, virtualMachine
Methods declared in interface com.sun.jdi.ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
-
Method Details
-
length
int length()返回此数组中的组件数量。- 返回:
- 此数组中组件的整数计数。
-
getValue
返回数组组件值。- 参数:
-
index
- 要检索的组件的索引 - 返回:
-
给定索引处的
Value
。 - 抛出:
-
IndexOutOfBoundsException
- 如果index
超出此数组的范围,即,如果以下任一情况为真:index < 0 index >=
length()
-
getValues
返回此数组中的所有组件。- 返回:
-
一个
Value
对象列表,按数组索引排序,每个数组组件对应一个对象。对于长度为零的数组,返回一个空列表。
-
getValues
返回数组组件的范围。- 参数:
-
index
- 要检索的第一个组件的索引 -
length
- 要检索的组件数量,或者为 -1 以检索到数组末尾的所有组件。 - 返回:
-
一个
Value
对象列表,按数组索引排序,每个请求的数组组件对应一个对象。当指定范围中没有元素时(例如,length
为零),返回一个空列表。 - 抛出:
-
IndexOutOfBoundsException
- 如果使用index
和length
指定的范围不在数组范围内,即,如果以下任一情况为真:index < 0 index >
或者如果length()
length != -1
并且以下任一情况为真:length < 0 index + length >
length()
-
setValue
用另一个值替换数组组件。对象值必须与组件类型兼容(这意味着组件类型必须通过声明类的类加载器加载)。原始值必须与组件类型兼容,或者必须能够在不丢失信息的情况下转换为组件类型。有关赋值兼容性的更多信息,请参见 JLS 第 5.2 节。
- 参数:
-
index
- 要设置的组件的索引 -
value
- 新值 - 抛出:
-
IndexOutOfBoundsException
- 如果index
超出此数组的范围,即,如果以下任一情况为真:index < 0 index >=
length()
-
InvalidTypeException
- 如果value
的类型与数组组件的声明类型不兼容。 -
ClassNotLoadedException
- 如果数组组件类型尚未通过适当的类加载器加载。 -
VMCannotBeModifiedException
- 如果虚拟机是只读的 - 请参阅VirtualMachine.canBeModified()
。 - 参见:
-
setValues
用其他值替换所有数组组件。如果给定的列表大小大于数组的大小,则忽略列表末尾的值。对象值必须与元素类型兼容(这意味着组件类型必须通过封闭类的类加载器加载)。原始值必须与组件类型兼容,或者必须能够在不丢失信息的情况下转换为组件类型。有关赋值兼容性的更多信息,请参见 JLS 第 5.2 节。
- 参数:
-
values
- 要放置在此数组中的Value
对象列表。如果values.size()
小于数组的长度,则设置前values.size()
个元素。 - 抛出:
-
InvalidTypeException
- 如果任何新的values
与数组组件的声明类型不兼容。 -
ClassNotLoadedException
- 如果数组组件类型尚未通过适当的类加载器加载。 -
VMCannotBeModifiedException
- 如果虚拟机是只读的 - 请参阅VirtualMachine.canBeModified()
。 - 参见:
-
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.canBeModified()
。 -
ClassNotLoadedException
- 参见:
-