- 既知のすべてのサブインタフェース:
MemoryLayout
ConstantDesc
として記述できます。
一部のconstable型は、定数プール内にネイティブ表現を持ちます: String
、Integer
、Long
、Float
、Double
、Class
、MethodType
およびMethodHandle
。 タイプString
、Integer
、Long
、Float
およびDouble
はそれぞれ独自の一般的な記述子として機能します。Class
、MethodType
およびMethodHandle
には、名目的な記述子ClassDesc
、MethodTypeDesc
およびMethodHandleDesc
があります。
その他の参照タイプは、これらのインスタンスが自らをConstantDesc
として名目書式で記述できるかどうかを定数可能にできます。 Java SEプラットフォームAPIの例には、Enum
などのJava言語機能をサポートするタイプ、およびVarHandle
などのランタイム・サポート・クラスがあります。 これらについては通常、DynamicConstantDesc
で説明し、動的に生成される定数(JVMS 4.4.10)について説明します。
constable型のインスタンスの名目書式は、describeConstable()
を使用して取得されます。 Constableは、ConstantDesc
の形式ですべてのインスタンスを(または次を選択しない)が記述できる必要はありません。このメソッドは、名目記述子をインスタンスに対して作成できなかったことを示すために、空にできるOptional
を返します。 (たとえば、MethodHandle
では、ダイレクト・メソッド・ハンドルの名目な記述子が生成されますが、必ずしもメソッド・ハンドル識別子によって生成されるわけではありません。)
- Java Virtual Machine仕様を参照してください:
-
4.4 定数プール
4.4.10CONSTANT_Dynamic_info
およびCONSTANT_InvokeDynamic_info
の構造 - 導入されたバージョン:
- 12
-
メソッドのサマリー
-
メソッドの詳細
-
describeConstable
Optional<? extends ConstantDesc> describeConstable()
-