-
- すべてのスーパー・インタフェース:
Mirror
,ObjectReference
,Value
public interface ArrayReference extends ObjectReference
ターゲットVM内の配列オブジェクトおよびそのコンポーネントへのアクセスを提供します。 各配列コンポーネントは、Value
オブジェクトによってミラー化されます。 配列コンポーネントは、APIのその他の部分との一貫性と、その他のAPIとの相互運用性を確保するために、配列ではなくList
オブジェクト内に全体として置かれます。- 導入されたバージョン:
- 1.3
-
-
フィールドのサマリー
-
インタフェース 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
がこの配列の範囲外である場合、つまり次のどちらかがtrueである場合:index < 0 index >=
length()
-
getValues
List<Value> getValues()
この配列内のすべてのコンポーネントを返します。- 戻り値:
Value
オブジェクトのリスト。配列索引により指定された各配列コンポーネントに1つ。 長さがゼロの配列の場合、空のリストが返される。
-
getValues
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()
-
setValue
void setValue(int index, Value value) throws InvalidTypeException, ClassNotLoadedException
配列コンポーネントを別の値に置き換えます。オブジェクト値は、このコンポーネントの型との代入互換性を持たなければいけません(これは、このコンポーネントの型は、宣言クラスのクラス・ローダーによってロードする必要があることを意味する)。 プリミティブ値は、このコンポーネントの型との代入互換性を持たなければいけません。つまり、情報を失わずにこのコンポーネントの型に変換できる必要があります。 代入互換性の詳細は、JLSのセクション5.2を参照してください。
- パラメータ:
value
- 新しい値index
- 設定するコンポーネントのインデックス- 例外:
IndexOutOfBoundsException
-index
がこの配列の範囲外である場合、つまり次のどちらかがtrueである場合: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
- 設定するコンポーネントの数。この配列または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()
-
-