モジュール jdk.jdi
パッケージ com.sun.jdi

インタフェースArrayReference

  • すべてのスーパー・インタフェース:
    Mirror, ObjectReference, Value

    public interface ArrayReference
    extends ObjectReference
    ターゲットVM内の配列オブジェクトおよびそのコンポーネントへのアクセスを提供します。 各配列コンポーネントは、Valueオブジェクトによってミラー化されます。 配列コンポーネントは、APIのその他の部分との一貫性と、その他のAPIとの相互運用性を確保するために、配列ではなくListオブジェクト内に全体として置かれます。
    導入されたバージョン:
    1.3
    • メソッドの詳細

      • 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 - indexlengthで指定された範囲が配列の範囲内に収まっていない場合、つまり次のどちらかが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 - indexlengthで指定された配列範囲が配列のサイズに収まっていない場合、あるいはsrcIndexlengthで指定されるソース範囲が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()