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

インタフェースClassDesc

すべてのスーパー・インタフェース:
ConstantDesc, TypeDescriptor, TypeDescriptor.OfField<ClassDesc>

public sealed interface ClassDesc extends ConstantDesc, TypeDescriptor.OfField<ClassDesc>
Class定数の場合は「名目記述子」

すべてのプリミティブ・タイプを含む共通システム・タイプの場合、ConstantDescsにはClassDescの事前定義された定数があります。 (java.lang.constant APIは、voidをプリミティブ・タイプとみなします。) クラス・タイプまたはインタフェース・タイプに対してClassDescを作成するには、of(java.lang.String)またはofDescriptor(String)を使用します。配列タイプにClassDescを作成するには、ofDescriptor(String)を使用するか、最初にコンポーネント・タイプのClassDescを取得してからarrayType()またはarrayType(int)メソッドをコールします。

導入されたバージョン:
12
関連項目:
  • ネストされたクラスのサマリー

    インタフェースjava.lang.invoke.TypeDescriptorで宣言されたネストされたクラス/インタフェース

    TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>, TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>,M extends TypeDescriptor.OfMethod<F,M>>
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default ClassDesc
    コンポーネント型がこのClassDescによって記述されている配列型のClassDescを返します。
    default ClassDesc
    arrayType(int rank)
    指定されたランクの配列型のClassDescを返します。このClassDescは、このClassDescでコンポーネント型を説明します。
    default ClassDesc
    配列型を説明する場合はこのClassDescのコンポーネント型を返し、そうでない場合はnullを返します。
    このタイプのフィールド・タイプ記述子文字列を返します
    default String
    この記述子で記述されている型の判読可能な名前を返します。
    boolean
    等価性のために、指定されたオブジェクトをこの記述子と比較します。
    default boolean
    ClassDescが配列型を記述するかどうかを返します。
    default boolean
    このClassDescがクラスまたはインタフェースのタイプを説明するかどうかを返します。
    default boolean
    このClassDescがプリミティブ・タイプを説明するかどうかを返します。
    default ClassDesc
    nested(String nestedName)
    このClassDescで説明されているクラスまたはインタフェース・タイプのネストされたクラスのClassDescを返します。
    default ClassDesc
    nested(String firstNestedName, String... moreNestedNames)
    このClassDescで説明されているクラスまたはインタフェース・タイプのネストされたクラスのClassDescを返します。
    static ClassDesc
    of(String name)
    クラスまたはインタフェース型に対して、"java.lang.String"などのクラスまたはインタフェースの名前を指定してClassDescを返します。
    static ClassDesc
    of(String packageName, String className)
    クラスまたはインタフェース・タイプに対してClassDescを返します。クラスまたはインタフェースのパッケージ名および未修飾(simple)名が指定されます。
    static ClassDesc
    ofDescriptor(String descriptor)
    クラス、インタフェース、配列またはプリミティブ・タイプの記述子文字列に対してClassDescを指定します。
    default String
    クラスまたはインタフェース・タイプを説明する場合は、このClassDescのパッケージ名を返します。

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

    resolveConstantDesc
  • メソッドの詳細

    • of

      static ClassDesc of(String name)
      クラスまたはインタフェース型に対して、"java.lang.String"などのクラスまたはインタフェースの名前を指定してClassDescを返します。 (配列型の記述子を作成するには、ofDescriptor(String)またはarrayType()を使用します。プリミティブ型の記述子を作成するには、ofDescriptor(String)を使用するか、ConstantDescsの事前定義された定数を使用)。
      パラメータ:
      name - 完全修飾された(dot-separated)バイナリ・クラス名
      戻り値:
      希望するクラスの記述はClassDesc
      例外:
      NullPointerException - 引数がnullの場合
      IllegalArgumentException - 名前文字列が正しいフォーマットでない場合
    • of

      static ClassDesc of(String packageName, String className)
      クラスまたはインタフェース・タイプに対してClassDescを返します。クラスまたはインタフェースのパッケージ名および未修飾(simple)名が指定されます。
      パラメータ:
      packageName - パッケージ名(dot-separated);パッケージ名が空の文字列の場合、そのクラスは名前のないパッケージ内にあるとみなされます。
      className - 未修飾の(simple)クラス名
      戻り値:
      希望するクラスの記述はClassDesc
      例外:
      NullPointerException - 引数が1つの場合はnull
      IllegalArgumentException - パッケージ名またはクラス名の形式が正しくない場合
    • ofDescriptor

      static ClassDesc ofDescriptor(String descriptor)
      クラス、インタフェース、配列またはプリミティブ・タイプの記述子文字列に対してClassDescを指定します。
      APIのノート:
      非配列タイプのフィールド・タイプ記述子文字列は、プリミティブ・タイプ("J", "I", "C", "S", "B", "D", "F", "Z", "V")に対応する1文字のコード、または"L"の文字の後にクラスの完全修飾バイナリ名が続き、";"が次に続く。 配列型のフィールド型記述子は、文字"["に続いてコンポーネント型のフィールド記述子です。 有効な型記述子文字列の例には、"Ljava/lang/String;""I""[I""V""[Ljava/lang/String;"などがあります。詳細は、JVMS 4.3.2 ("フィールド記述子")を参照してください。
      パラメータ:
      descriptor - フィールド記述子文字列
      戻り値:
      希望するクラスの記述はClassDesc
      例外:
      NullPointerException - 引数がnullの場合
      IllegalArgumentException - 名前文字列が正しいフォーマットでない場合
      Java Virtual Machine仕様を参照してください:
      4.3.2 フィールド記述子
      4.4.1 CONSTANT_Class_info構造
    • arrayType

      default ClassDesc arrayType()
      コンポーネント型がこのClassDescによって記述されている配列型のClassDescを返します。
      定義:
      インタフェースTypeDescriptor.OfField<ClassDesc>内のarrayType
      戻り値:
      配列型について説明するClassDesc
      例外:
      IllegalStateException - 結果のClassDescが255よりも大きい配列ランクになる場合
      Java Virtual Machine仕様を参照してください:
      4.4.1 CONSTANT_Class_info構造
    • arrayType

      default ClassDesc arrayType(int rank)
      指定されたランクの配列型のClassDescを返します。このClassDescは、このClassDescでコンポーネント型を説明します。
      パラメータ:
      rank - 配列のランク
      戻り値:
      配列型について説明するClassDesc
      例外:
      IllegalArgumentException - ランクがゼロ以下の場合、または結果の配列タイプのランクが255より大きい場合
      Java Virtual Machine仕様を参照してください:
      4.4.1 CONSTANT_Class_info構造
    • ネスト

      default ClassDesc nested(String nestedName)
      このClassDescで説明されているクラスまたはインタフェース・タイプのネストされたクラスのClassDescを返します。
      APIのノート:
      例: 記述子dがクラスjava.util.Mapを説明する場合、クラスjava.util.Map.Entryの記述子はd.nested("Entry")によって取得できます。
      パラメータ:
      nestedName - ネストされたクラスの修飾されていない名前
      戻り値:
      ネストされたクラスを記述するClassDesc
      例外:
      NullPointerException - 引数がnullの場合
      IllegalStateException - このClassDescがクラスまたはインタフェース型を記述しない場合
      IllegalArgumentException - ネストされたクラス名が無効な場合
    • ネスト

      default ClassDesc nested(String firstNestedName, String... moreNestedNames)
      このClassDescで説明されているクラスまたはインタフェース・タイプのネストされたクラスのClassDescを返します。
      パラメータ:
      firstNestedName - ネストされたクラスの最初のレベルの未修飾名
      moreNestedNames - ネストされたクラスの残りのレベルの未修飾名
      戻り値:
      ネストされたクラスを記述するClassDesc
      例外:
      NullPointerException - 引数またはその内容がnullの場合
      IllegalStateException - このClassDescがクラスまたはインタフェース型を記述しない場合
      IllegalArgumentException - ネストされたクラス名が無効な場合
    • isArray

      default boolean isArray()
      ClassDescが配列型を記述するかどうかを返します。
      定義:
      インタフェースTypeDescriptor.OfField<ClassDesc>内のisArray
      戻り値:
      ClassDescが配列型を記述するかどうか
    • isPrimitive

      default boolean isPrimitive()
      このClassDescがプリミティブ・タイプを説明するかどうかを返します。
      定義:
      インタフェースTypeDescriptor.OfField<ClassDesc>内のisPrimitive
      戻り値:
      このClassDescがプリミティブ・タイプを説明するかどうか
    • isClassOrInterface

      default boolean isClassOrInterface()
      このClassDescがクラスまたはインタフェースのタイプを説明するかどうかを返します。
      戻り値:
      このClassDescがクラス・タイプとインタフェース・タイプのどちらを記述するのか
    • componentType

      default ClassDesc componentType()
      配列型を説明する場合はこのClassDescのコンポーネント型を返し、そうでない場合はnullを返します。
      定義:
      インタフェースTypeDescriptor.OfField<ClassDesc>内のcomponentType
      戻り値:
      コンポーネント・タイプを記述するClassDesc、またはこの記述子が配列タイプを記述しない場合はnull
    • packageName

      default String packageName()
      クラスまたはインタフェース・タイプを説明する場合は、このClassDescのパッケージ名を返します。
      戻り値:
      パッケージ名、またはクラスがデフォルト・パッケージ内にある場合は空の文字列、クラスまたはインタフェース・タイプを記述しない場合はこのClassDesc
    • displayName

      default String displayName()
      この記述子で記述されている型の判読可能な名前を返します。
      実装要件:

      デフォルトの実装では、プリミティブ・タイプに対して単純な名前(e.g., int)、クラスまたはインタフェース・タイプに対して修飾されていないクラス名、またはコンポーネント・タイプの表示名が、配列タイプに対して適切な数の[]ペアで付加されます。

      戻り値:
      判読可能な名前
    • descriptorString

      String descriptorString()
      このタイプのフィールド・タイプ記述子文字列を返します
      定義:
      インタフェースTypeDescriptor内のdescriptorString
      戻り値:
      記述子文字列
      Java Virtual Machine仕様を参照してください:
      4.3.2 フィールド記述子
    • equals

      boolean equals(Object o)
      等価性のために、指定されたオブジェクトをこの記述子と比較します。 trueを返します。指定されたオブジェクトもClassDescであり、その両方で同じ型を記述している場合のみ返されます。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      o - 他のオブジェクト
      戻り値:
      この記述子が他のオブジェクトと等しいかどうか
      関連項目: