インタフェースConstantPool

すべてのスーパー・インタフェース:
Iterable<PoolEntry>
既知のすべてのサブインタフェース:
ClassReader, ConstantPoolBuilder

public sealed interface ConstantPool extends Iterable<PoolEntry> permits ClassReader, ConstantPoolBuilder
classファイルの定数プールおよびブートストラップ・メソッド表への読取りアクセスを提供します。

定数プールの索引

定数プール・エントリはインデックスによってアクセスされます。 有効な索引は、[1, size())の範囲内です。 LongEntryまたはDoubleEntryが前の索引にある場合は「使用不可」です。
Java Virtual Machine仕様を参照してください:
4.4 定数プール
シール済クラス階層グラフ:
ConstantPoolのシール済クラス階層グラフConstantPoolのシール済クラス階層グラフ
導入されたバージョン:
24
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    ブートストラップ・メソッド表のエントリ数を返します。
    ブートストラップ・メソッド表内の指定された索引でBootstrapMethodEntryを返します。
    entryByIndex(int index)
    指定されたインデックスのエントリを返します。
    <T extends PoolEntry>
    T
    entryByIndex(int index, Class<T> cls)
    指定されたインデックスの指定されたタイプのエントリを返します。
    プール・エントリに対するイテレータを返します。
    int
    この定数プールの有効なインデックスの排他的上限を返します。

    インタフェースjava.lang.Iterableで宣言されたメソッド

    forEach, spliterator
  • メソッドの詳細

    • entryByIndex

      PoolEntry entryByIndex(int index)
      指定されたインデックスのエントリを返します。
      APIのノート:
      特定のタイプのエントリのみが必要な場合は、entryByIndex(int, Class)を使用します。
      パラメータ:
      index - 目的のエントリのプール内のインデックス
      戻り値:
      指定されたインデックスのエントリ
      スロー:
      ConstantPoolException - 索引が定数プールの範囲外であるか、使用不可とみなされる場合
    • size

      int size()
      この定数プールの有効なインデックスの排他的上限を返します。 0 size()が無効で、有効な索引が使用できない可能性があるため、実際のエントリ数は少なくなります。
      戻り値:
      この定数プールの有効なインデックスの排他的上限
      関連項目:
    • entryByIndex

      <T extends PoolEntry> T entryByIndex(int index, Class<T> cls)
      指定されたインデックスの指定されたタイプのエントリを返します。
      型パラメータ:
      T - 入力タイプ
      パラメータ:
      index - 目的のエントリのプール内のインデックス
      cls - 入力タイプ
      戻り値:
      指定されたインデックスでの指定されたタイプのエントリ
      スロー:
      ConstantPoolException - 索引が定数プールの範囲外であるか、使用不可とみなされる場合、またはエントリが指定されたタイプでない場合
    • iterator

      default Iterator<PoolEntry> iterator()
      プール・エントリに対するイテレータを返します。
      定義:
      インタフェースIterable<PoolEntry>内のiterator
      APIのノート:
      これによって、使用できない索引がスキップされ、RAW索引で反復するよりもエラーが発生しやすくなります。 定数プールの索引を参照してください。
      戻り値:
      プール・エントリに対するイテレータ
    • bootstrapMethodEntry

      BootstrapMethodEntry bootstrapMethodEntry(int index)
      ブートストラップ・メソッド表内の指定された索引でBootstrapMethodEntryを返します。
      パラメータ:
      index - 必要なエントリのブートストラップ・メソッド表内の索引
      戻り値:
      ブートストラップ・メソッド表内の指定された索引のBootstrapMethodEntry
      スロー:
      ConstantPoolException - 索引がブートストラップ・メソッドの範囲外である場合
    • bootstrapMethodCount

      int bootstrapMethodCount()
      ブートストラップ・メソッド表のエントリ数を返します。
      戻り値:
      ブートストラップ・メソッド表のエントリ数