インタフェースSignature.ClassTypeSig

すべてのスーパー・インタフェース:
Signature, Signature.RefTypeSig, Signature.ThrowableSig
含まれているインタフェース:
Signature

public static sealed interface Signature.ClassTypeSig extends Signature.RefTypeSig, Signature.ThrowableSig
パラメータ化された可能性があるクラスまたはインタフェース型のシグネチャをモデル化します。

クラス・タイプのシグネチャの例を次に示します。

  • OuterLcom/example/Outer;
    クラス名com/example/Outerがあり、外部型または型引数はありません。
  • Outer.Nested<A>Lcom/example/Outer$Nested<TA;>;
    ネストされたクラスを表すクラス名com/example/Outer$Nestedがあり、外部型はなく、型変数Aの単一型の引数があります。
  • GenericOuter<A>.InnerLcom/example/GenericOuter<TA;>.Inner;
    クラス名Inner、単純なクラス名、GenericOuter<A>の外部型Lcom/example/GenericOuter<TA;>;、型引数なし。

outer typeが存在する場合、class nameはネストされた型の単純名です。 それ以外の場合は、内部形式のバイナリ名です(/で区切ります)。

ネストされた型に包含するパラメータ化がない場合、外部型なしで内部バイナリ名として表され、ネストは.ではなく$で表されます。

Java Virtual Machine仕様を参照してください:
4.7.9.1 シグネチャ
導入されたバージョン:
24
関連項目:
  • メソッドの詳細

    • outerType

      このクラスがメンバーであるクラスのシグネチャを返します(これがメンバー・クラスである場合のみ)。 これがパラメータ化された囲み型のないメンバー・クラスである場合、外部クラスが存在しない可能性があることに注意してください。
      戻り値:
      このクラスがメンバーであるクラスのシグネチャ(これがメンバー・クラスである場合のみ)
      Java言語仕様を参照してください:
      「4.5 パラメータ化タイプ」
    • className

      String className()
      クラス名またはインタフェース名を返します。外部型がない場合は、slash-separatedパッケージ名を含めます。 パラメータ化された囲み型がない場合は、$セパレータを含むネストされたクラス名を示す場合があります。
      戻り値:
      クラス名またはインタフェース名。外部型がない場合は、slash-separatedパッケージ名が含まれます
    • classDesc

      default ClassDesc classDesc()
      このクラスまたはインタフェースをシンボリック記述子として返します。
      戻り値:
      このクラスまたはインタフェース(シンボリック記述子として)
    • typeArgs

      List<Signature.TypeArg> typeArgs()
      このクラスまたはインタフェースの型引数を返します。 外部型には、より多くの型引数がある場合があります。
      戻り値:
      このクラスまたはインタフェースの型引数
      Java言語仕様を参照してください:
      「4.5 パラメータ化タイプ」
    • of

      static Signature.ClassTypeSig of(ClassDesc className, Signature.TypeArg... typeArgs)
      外部型のないクラスまたはインタフェース・シグネチャを返します。
      パラメータ:
      className - クラスまたはインタフェースの名前
      typeArgs - 型引数
      戻り値:
      外部型のないクラスまたはインタフェース・シグネチャ
      スロー:
      IllegalArgumentException - classNameがクラスまたはインタフェースを表していない場合、または示すことができない場合
    • of

      @Deprecated(since="26", forRemoval=true) static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs)
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      結果のシグネチャは、outerTypeがnullでない場合にclassNameによって表されるクラスを示しません。 代わりに of(ClassTypeSig, String, TypeArg...)を使用してください。
      クラスまたはインタフェースのシグネチャを返します。
      パラメータ:
      outerType - 外部型のシグネチャ(null)
      className - このクラスまたはインタフェースの名前
      typeArgs - 型引数
      戻り値:
      クラスまたはインタフェースのシグネチャ
      スロー:
      IllegalArgumentException - classNameがクラスまたはインタフェースを表していない場合、または示すことができない場合
    • of

      static Signature.ClassTypeSig of(String className, Signature.TypeArg... typeArgs)
      外部型のないクラスまたはインタフェース・シグネチャを返します。
      パラメータ:
      className - クラスまたはインタフェースの名前。/を使用して分離できます。
      typeArgs - 型引数
      戻り値:
      外部型のないクラスまたはインタフェース・シグネチャ
      スロー:
      IllegalArgumentException - className示すことができない場合
    • of

      static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, String className, Signature.TypeArg... typeArgs)
      クラス・タイプのシグネチャを返します。
      パラメータ:
      outerType - 外部型のシグネチャ(null)
      className - このクラスまたはインタフェースの名前。外部型が存在しない場合は、/を使用して区切ることができます
      typeArgs - 型引数
      戻り値:
      クラス・タイプのシグネチャ
      スロー:
      IllegalArgumentException - className示すことができない場合