モジュール java.base
パッケージ java.lang.constant

インタフェースConstable

既知のすべてのサブインタフェース:
MemoryLayout

public interface Constable
constableのタイプを表します。 constable型とは、値がJavaクラス・ファイルの定数プール(JVMS 4.4を参照)に表される定数であり、インスタンスが独自に名目的にConstantDescとして記述できます。

一部のconstable型は、定数プール内にネイティブ表現を持ちます: StringIntegerLongFloatDoubleClassMethodTypeおよびMethodHandle タイプStringIntegerLongFloatおよびDoubleはそれぞれ独自の一般的な記述子として機能します。ClassMethodTypeおよびMethodHandleには、名目的な記述子ClassDescMethodTypeDescおよび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.10 CONSTANT_Dynamic_infoおよびCONSTANT_InvokeDynamic_infoの構造
導入されたバージョン:
12
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Optional<? extends ConstantDesc> describeConstable()
    このインスタンスの名目記述子を含むOptionalを返します(作成可能な場合)、作成できない場合は空のOptionalを返します。
  • メソッドの詳細

    • describeConstable

      Optional<? extends ConstantDesc> describeConstable()
      このインスタンスの名目記述子を含むOptionalを返します(作成可能な場合)、作成できない場合は空のOptionalを返します。
      戻り値:
      最終的な名目記述子を含むOptional、または作成できない場合は空のOptional