インタフェースArrayReference

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

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

    インタフェースで宣言されたフィールド ObjectReference

    INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
    修飾子と型
    フィールド
    説明
    static final int
    非仮想メソッドの呼出しを実行します。
    static final int
    呼出し側のスレッドだけを再開してメソッドの呼出しを実行します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    getValue(int index)
    配列コンポーネントの値を返します。
    この配列内のすべてのコンポーネントを返します。
    getValues(int index, int length)
    配列コンポーネントの範囲を返します。
    int
    この配列のコンポーネントの数を返します。
    void
    setValue(int index, Value value)
    配列コンポーネントを別の値に置き換えます。
    void
    setValues(int index, List<? extends Value> values, int srcIndex, int length)
    配列コンポーネントのある範囲を別の値に置き換えます。
    void
    setValues(List<? extends Value> values)
    すべての配列コンポーネントを別の値に置き換えます。

    インタフェースMirrorで宣言されたメソッド

    toString, virtualMachine
    修飾子と型
    メソッド
    説明
    このミラーについて説明する文字列を返します。
    このミラーが属するVirtualMachineを取得します。

    インタフェースで宣言されたメソッド ObjectReference

    disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
    修飾子と型
    メソッド
    説明
    void
    このオブジェクトに対するガベージ・コレクションを回避します。
    void
    このオブジェクトのガベージ・コレクションを許可します。
    int
    所有スレッドがプラットフォーム・スレッドである場合に、このオブジェクトのモニターが現在の所有スレッドによって入力された回数を返します。プラットフォーム・スレッドによって所有されていない場合は0を返します。
    boolean
    指定されたObjectがこのObjectReferenceと等しいかどうか比較します。
    このオブジェクトの指定されたインスタンスまたはstaticフィールドの値を取得します。
    getValues(List<? extends Field> fields)
    このオブジェクトの複数のインスタンスまたはstaticフィールド、あるいはその両方の値を取得します。
    int
    このObjectReferenceのハッシュ・コード値を返します。
    invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)
    ターゲットVM内のこのオブジェクトで指定されたMethodを呼び出します。
    boolean
    ターゲットVMでこのオブジェクトがガベージ・コレクトされているかどうかを判定します。
    現在このオブジェクトのモニターを所有しているプラットフォーム・スレッド(存在する場合)のThreadReferenceを返します。
    このオブジェクトの型をミラー化するReferenceTypeを取得します。
    referringObjects(long maxReferrers)
    このオブジェクトを直接参照するオブジェクトを返します。
    void
    setValue(Field field, Value value)
    このオブジェクトのインスタンス・フィールドまたはstaticフィールドの値を設定します。
    long
    このObjectReferenceの一意の識別子を返します。
    現在このオブジェクトのモニターを待機している各プラットフォーム・スレッドのThreadReferenceを含むリストを返します。

    インタフェースValueで宣言されたメソッド

    type
    修飾子と型
    メソッド
    説明
    この値の実行時の型を返します。
  • メソッドの詳細

    • 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を参照してください。

      パラメータ:
      index - 設定するコンポーネントのインデックス
      value - 新しい値
      スロー:
      IndexOutOfBoundsException - indexがこの配列の範囲外である場合、つまり次のどちらかがtrueである場合:
         index < 0
         index >= length() 
      InvalidTypeException - valueの型と宣言された配列コンポーネントの型に互換性がない場合。
      ClassNotLoadedException - 配列コンポーネントの型が適切なクラス・ローダーによってロードされていない場合。
      VMCannotBeModifiedException - VirtualMachineが読取り専用の場合(VirtualMachine.canBeModified()を参照)。
      関連項目:
    • 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()を参照)。
      関連項目:
    • 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
      関連項目: