java.lang.Object
java.lang.constant.DynamicConstantDesc<T>
- 型パラメータ:
- T- 動的定数の型
- すべての実装されたインタフェース:
- ConstantDesc
- 直系の既知のサブクラス:
- Enum.EnumDesc,- VarHandle.VarHandleDesc
public abstract class DynamicConstantDesc<T> extends Object implements ConstantDesc
動的定数の場合は「名目記述子」 (
Constant_Dynamic_infoで固定プールに記述されているもの。)
 DynamicConstantDescの具象サブタイプは不変である必要があり、その動作はオブジェクト・アイデンティティに依存しません。
- 導入されたバージョン:
- 12
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedDynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)動的定数の名目記述子を作成します。
- 
メソッドのサマリー修飾子と型メソッド説明この定数のブートストラップ引数を返します。不変Listとして、この定数のブートストラップ引数を返します。この定数のブートストラップ・メソッドを記述するMethodHandleDescを返します。この定数に対してLDCのNameAndTypeオペランドに出現する名前を戻します。この定数に対してLDCのNameAndTypeオペランドに表示される型を示すClassDescを返します。boolean等価性のために、指定されたオブジェクトをこの記述子と比較します。inthashCode()オブジェクトのハッシュ・コード値を返します。static <T> DynamicConstantDesc<T>of(DirectMethodHandleDesc bootstrapMethod)ブートストラップが静的引数を持たない動的定数の名目記述子を返します。この値は、nameパラメータがConstantDescs.DEFAULT_NAMEで、typeパラメータは常にブートストラップ・メソッドの戻り型と同じです。static <T> DynamicConstantDesc<T>of(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs)名前パラメータがConstantDescs.DEFAULT_NAMEで、typeパラメータが常にブートストラップ・メソッドの戻り型と同じである動的定数の名目記述子を返します。static <T> ConstantDescofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs)定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。static <T> DynamicConstantDesc<T>ofNamed(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)動的定数の名目記述子を返します。resolveConstantDesc(MethodHandles.Lookup lookup)JVMS 5.4.3の解決動作およびJVMS 5.4.4のアクセス制御動作を反映して、この記述子を解決します。toString()ブートストラップ・メソッド、定数名と型、静的ブートストラップ引数など、この定数説明のコンパクトなテキスト型の説明を返します。
- 
コンストラクタの詳細- 
DynamicConstantDescprotected DynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)動的定数の名目記述子を作成します。- パラメータ:
- bootstrapMethod- 定数のブートストラップ・メソッドを記述する- DirectMethodHandleDesc
- constantName- この定数に対して- LDCの- NameAndTypeオペランドに表示される非修飾名
- constantType- この定数について- LDCの- NameAndTypeオペランドに表示される型を示す- ClassDesc
- bootstrapArgs-- ConstantDescは、- BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
- 例外:
- NullPointerException- いずれかの引数がnullの場合
- IllegalArgumentException-- nameの形式が正しくない場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
 
- 
- 
メソッドの詳細- 
ofCanonicalpublic static <T> ConstantDesc ofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs)定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。Class(プリミティブ・タイプを記述するインスタンス)、EnumおよびVarHandleを含む既知のブートストラップを使用して、Constable.describeConstable()メソッドがDynamicConstantDescを生成するクラス。定数プールを処理し、その呼び出し元に ConstantDescとしてエントリを公開するバイトコード・コードのAPIは、一般に、このメソッドをofNamed(DirectMethodHandleDesc, String, ClassDesc, ConstantDesc...)に優先順位付けする必要があります。これは、呼び出し元に提供できる特定のタイプである可能性があるためです。- 型パラメータ:
- T- 動的定数の型
- パラメータ:
- bootstrapMethod- 定数のブートストラップ・メソッドを記述する- DirectMethodHandleDesc
- constantName- この定数に対して- LDCの- NameAndTypeオペランドに表示される非修飾名
- constantType- この定数について- LDCの- NameAndTypeオペランドに表示される型を示す- ClassDesc
- bootstrapArgs-- ConstantDescは、- BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
- 戻り値:
- 名目記述子
- 例外:
- NullPointerException- いずれかの引数がnullの場合
- IllegalArgumentException-- nameの形式が正しくない場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
- 
ofNamedpublic static <T> DynamicConstantDesc<T> ofNamed(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)動的定数の名目記述子を返します。- 型パラメータ:
- T- 動的定数の型
- パラメータ:
- bootstrapMethod- 定数のブートストラップ・メソッドを記述する- DirectMethodHandleDesc
- constantName- この定数に対して- LDCの- NameAndTypeオペランドに表示される非修飾名
- constantType- この定数について- LDCの- NameAndTypeオペランドに表示される型を示す- ClassDesc
- bootstrapArgs-- ConstantDescは、- BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
- 戻り値:
- 名目記述子
- 例外:
- NullPointerException- いずれかの引数がnullの場合
- IllegalArgumentException-- nameの形式が正しくない場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
- 
ofpublic static <T> DynamicConstantDesc<T> of(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs)名前パラメータがConstantDescs.DEFAULT_NAMEで、typeパラメータが常にブートストラップ・メソッドの戻り型と同じである動的定数の名目記述子を返します。- 型パラメータ:
- T- 動的定数の型
- パラメータ:
- bootstrapMethod- 定数のブートストラップ・メソッドを記述する- DirectMethodHandleDesc
- bootstrapArgs-- ConstantDescは、- BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
- 戻り値:
- 名目記述子
- 例外:
- NullPointerException- いずれかの引数がnullの場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
- 
ofpublic static <T> DynamicConstantDesc<T> of(DirectMethodHandleDesc bootstrapMethod)ブートストラップが静的引数を持たない動的定数の名目記述子を返します。この値は、nameパラメータがConstantDescs.DEFAULT_NAMEで、typeパラメータは常にブートストラップ・メソッドの戻り型と同じです。- 型パラメータ:
- T- 動的定数の型
- パラメータ:
- bootstrapMethod- 定数のブートストラップ・メソッドを記述する- DirectMethodHandleDesc
- 戻り値:
- 名目記述子
- 例外:
- NullPointerException- いずれかの引数がnullの場合
 
- 
constantNamepublic String constantName()この定数に対してLDCのNameAndTypeオペランドに出現する名前を戻します。- 戻り値:
- 定数名
 
- 
constantTypepublic ClassDesc constantType()この定数に対してLDCのNameAndTypeオペランドに表示される型を示すClassDescを返します。- 戻り値:
- 定数型
 
- 
bootstrapMethodpublic DirectMethodHandleDesc bootstrapMethod()この定数のブートストラップ・メソッドを記述するMethodHandleDescを返します。- 戻り値:
- ブートストラップ・メソッド
 
- 
bootstrapArgspublic ConstantDesc[] bootstrapArgs()この定数のブートストラップ引数を返します。- 戻り値:
- ブートストラップ引数
 
- 
bootstrapArgsListpublic List<ConstantDesc> bootstrapArgsList()不変Listとして、この定数のブートストラップ引数を返します。- 戻り値:
- ブートストラップ引数のList
 
- 
resolveConstantDescpublic T resolveConstantDesc(MethodHandles.Lookup lookup) throws ReflectiveOperationExceptionインタフェースからコピーされた説明:ConstantDescJVMS 5.4.3の解決動作およびJVMS 5.4.4のアクセス制御動作を反映して、この記述子を解決します。 解決およびアクセス制御コンテキストは、MethodHandles.Lookupパラメータによって提供されます。 結果の値のキャッシュは実行されません。- 定義:
- インタフェースConstantDesc内のresolveConstantDesc
- パラメータ:
- lookup- 名前解決およびアクセス制御コンテキストを提供するための- MethodHandles.Lookup
- 戻り値:
- 解決済定数値
- 例外:
- ReflectiveOperationException- 解決の過程でクラス、メソッドまたはフィールドを反映的に解決できなかった場合
 
- 
equalspublic final boolean equals(Object o)等価性のために、指定されたオブジェクトをこの記述子と比較します。trueを返します(指定したオブジェクトがDynamicConstantDescでもある場合のみ、また、両方の記述子に=ブートストラップ・メソッド、ブートストラップ引数リスト、定数名および定数タイプが存在する場合のみ)。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- o- この- DynamicConstantDescと比較する- DynamicConstantDesc
- 戻り値:
- 指定されたDynamicConstantDescがこのDynamicConstantDescと等しい場合はtrue。
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic final int hashCode()次のクラスからコピーされた説明:Objectオブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。hashCodeの一般的な規則は次のとおりです。- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
- equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対する- hashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。
- Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対する- hashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
 - オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
- 
toStringpublic String toString()ブートストラップ・メソッド、定数名と型、静的ブートストラップ引数など、この定数説明のコンパクトなテキスト型の説明を返します。
 
-