public interface ArrayReference extends ObjectReference
Value
オブジェクトによってミラー化されます。配列コンポーネントは、API のその他の部分との一貫性と、その他の API との相互運用性を確保するために、配列ではなく List
オブジェクト内に全体として置かれます。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)
すべての配列コンポーネントを別の値に置き換えます。
|
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
toString, virtualMachine
int length()
Value getValue(int index)
index
- 取得するコンポーネントのインデックスValue
。IndexOutOfBoundsException
- index
がこの配列の範囲外である場合、つまり次のどちらかが true である場合:
index < 0
index >= length()
List<Value> getValues()
Value
オブジェクトのリスト。配列インデックスにより指定された各配列コンポーネントに 1 つ。長さがゼロの配列の場合、空のリストが返される。List<Value> getValues(int index, int length)
index
- 取得する最初のコンポーネントのインデックスlength
- 取得するコンポーネントの数。配列の最後までのすべてのコンポーネントを取得する場合は -1。Value
オブジェクトのリスト。配列インデックスにより指定された、要求された各配列コンポーネントに 1 つ。指定された範囲に要素が存在しない場合 (length
がゼロの場合など)、空のリストが返されるIndexOutOfBoundsException
- index
と length
で指定された範囲が配列の範囲内に収まっていない場合、つまり次のどちらかが true である場合
index < 0
index > length()
または、length != -1
で、次のどちらかが true の場合
length < 0
index + length > length()
void setValue(int index, Value value) throws InvalidTypeException, ClassNotLoadedException
オブジェクト値は、このコンポーネントの型との代入互換性を持たなければいけません (これは、このコンポーネントの型は、宣言クラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、このコンポーネントの型との代入互換性を持たなければいけません。つまり、情報を失わずにこのコンポーネントの型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。
value
- 新しい値index
- 設定するコンポーネントのインデックスIndexOutOfBoundsException
- index
がこの配列の範囲外である場合、つまり次のどちらかが true である場合:
index < 0
index >= length()
InvalidTypeException
- value
の型と宣言された配列コンポーネントの型に互換性がない場合。ClassNotLoadedException
- 配列コンポーネントの型が適切なクラスローダーによってロードされていない場合。VMCannotBeModifiedException
- VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified()
を参照)。ArrayType.componentType()
void setValues(List<? extends Value> values) throws InvalidTypeException, ClassNotLoadedException
オブジェクト値は、この要素の型との代入互換性を持たなければいけません (これは、この要素型は、囲むクラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、このコンポーネントの型との代入互換性を持たなければいけません。つまり、情報を失わずにこのコンポーネントの型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。
values
- この配列内に配置される Value
オブジェクトのリスト。values.size()
の値が配列の長さよりも大きかった場合、先頭から values.size()
個の要素が設定される。InvalidTypeException
- 新しい values
のどれかが、宣言された配列コンポーネントの型との互換性を持たない場合。ClassNotLoadedException
- 配列コンポーネントの型が適切なクラスローダーによってロードされていない場合。VMCannotBeModifiedException
- VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified()
を参照)。ArrayType.componentType()
void setValues(int index, List<? extends Value> values, int srcIndex, int length) throws InvalidTypeException, ClassNotLoadedException
オブジェクト値は、このコンポーネントの型への代入互換性を持たなければいけません (これは、この要素型は、囲むクラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、このコンポーネントの型との代入互換性を持たなければいけません。つまり、情報を失わずにこのコンポーネントの型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。
index
- 設定する最初のコンポーネントのインデックス。values
- この配列内に配置される Value
オブジェクトのリスト。srcIndex
- 使用する最初のソース値のインデックス。length
- 設定するコンポーネントの数。この配列または values
の最後までのコンポーネントを設定する場合は -1。InvalidTypeException
- values
のどれかが、宣言された配列コンポーネントの型との互換性を持たない場合。IndexOutOfBoundsException
- index
と length
で指定された配列範囲が配列のサイズに収まっていない場合、あるいは srcIndex
と length
で指定されるソース範囲が values
のサイズに収まっていない場合、つまり次のいずれかが true である場合
index < 0
index > length()
srcIndex < 0
srcIndex > values.size()
または、length != -1
で、次のいずれかが true である場合
length < 0
index + length > length()
srcIndex + length > values.size()
VMCannotBeModifiedException
- VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified()
を参照)。ClassNotLoadedException
ArrayType.componentType()
Copyright © 1999, 2013, Oracle and/or its affiliates. All rights reserved.