public interface Constable
constableのタイプを表します。 定数可能型とは、JVMS 4.4で説明されているJavaクラス・ファイルの定数プールで表すことができる定数であり、そのインスタンス自体を名目上
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
などのランタイム・サポート・クラスがあります。 これらは通常、動的に生成された定数(JVMS 4.4.10)を記述するDynamicConstantDesc
で説明されています。
constable型のインスタンスの名目書式は、describeConstable()
を使用して取得されます。 Constableは、ConstantDesc
の形式ですべてのインスタンスを(または次を選択しない)が記述できる必要はありません。このメソッドは、名目記述子をインスタンスに対して作成できなかったことを示すために、空にできるOptional
を返します。 (たとえば、MethodHandle
では、ダイレクト・メソッド・ハンドルの名目な記述子が生成されますが、必ずしもメソッド・ハンドル識別子によって生成されるわけではありません。)
- Java Virtual Machine仕様を参照してください:
-
4.4 定数プール
4.4.10CONSTANT_Dynamic_info
およびCONSTANT_InvokeDynamic_info
の構造 - 導入されたバージョン:
- 12
-
メソッドのサマリー
-
メソッドの詳細
-
describeConstable
-