インタフェースSignature.ClassTypeSig
- すべてのスーパー・インタフェース:
Signature, Signature.RefTypeSig, Signature.ThrowableSig
- 含まれているインタフェース:
Signature
public static sealed interface Signature.ClassTypeSig extends Signature.RefTypeSig, Signature.ThrowableSig
パラメータ化された可能性があるクラスまたはインタフェース型のシグネチャをモデル化します。
クラス・タイプのシグネチャの例を次に示します。
OuterのLcom/example/Outer;
クラス名com/example/Outerがあり、外部型または型引数はありません。Outer.Nested<A>のLcom/example/Outer$Nested<TA;>;
ネストされたクラスを表すクラス名com/example/Outer$Nestedがあり、外部型はなく、型変数Aの単一型の引数があります。GenericOuter<A>.InnerのLcom/example/GenericOuter<TA;>.Inner;
クラス名Inner、単純なクラス名、GenericOuter<A>の外部型Lcom/example/GenericOuter<TA;>;、型引数なし。
outer typeが存在する場合、class nameはネストされた型の単純名です。 それ以外の場合は、内部形式のバイナリ名です(/で区切ります)。
ネストされた型に包含するパラメータ化がない場合、外部型なしで内部バイナリ名として表され、ネストは.ではなく$で表されます。
- Java Virtual Machine仕様を参照してください:
-
4.7.9.1 シグネチャ
- 導入されたバージョン:
- 24
- 関連項目:
-
ネストされたクラスのサマリー
インタフェースSignatureで宣言されたネストされたクラス/インタフェース
Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeArg, Signature.TypeParam, Signature.TypeVarSig修飾子と型インタフェース説明static interface配列型のシグネチャをモデル化します。static interfaceプリミティブ型(JLS 4.2)またはvoidのシグネチャをモデル化します。static interfaceパラメータ化された可能性があるクラスまたはインタフェース型のシグネチャをモデル化します。static interface参照型(クラス、インタフェース、型変数または配列型)のシグネチャをモデル化します。static interfacethrowable型のシグネチャのマーカー・インタフェース。static interface型パラメータの引数である型引数をモデル化します。static interface「type変数」を導入する汎用クラス、インタフェース、メソッドまたはコンストラクタの型パラメータのシグネチャをモデル化します。static interface型変数のシグネチャをモデル化します。 -
メソッドのサマリー
修飾子と型メソッド説明default ClassDescこのクラスまたはインタフェースをシンボリック記述子として返します。クラス名またはインタフェース名を返します。外部型がない場合は、slash-separatedパッケージ名を含めます。static Signature.ClassTypeSigof(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs) 削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。static Signature.ClassTypeSigof(Signature.ClassTypeSig outerType, String className, Signature.TypeArg... typeArgs) クラス・タイプのシグネチャを返します。static Signature.ClassTypeSigof(ClassDesc className, Signature.TypeArg... typeArgs) 外部型のないクラスまたはインタフェース・シグネチャを返します。static Signature.ClassTypeSigof(String className, Signature.TypeArg... typeArgs) 外部型のないクラスまたはインタフェース・シグネチャを返します。このクラスがメンバーであるクラスのシグネチャを返します(これがメンバー・クラスである場合のみ)。typeArgs()このクラスまたはインタフェースの型引数を返します。
-
メソッドの詳細
-
outerType
Optional<Signature.ClassTypeSig> outerType()このクラスがメンバーであるクラスのシグネチャを返します(これがメンバー・クラスである場合のみ)。 これがパラメータ化された囲み型のないメンバー・クラスである場合、外部クラスが存在しない可能性があることに注意してください。- 戻り値:
- このクラスがメンバーであるクラスのシグネチャ(これがメンバー・クラスである場合のみ)
- Java言語仕様を参照してください:
-
「4.5 パラメータ化タイプ」
-
className
String className()クラス名またはインタフェース名を返します。外部型がない場合は、slash-separatedパッケージ名を含めます。 パラメータ化された囲み型がない場合は、$セパレータを含むネストされたクラス名を示す場合があります。- 戻り値:
- クラス名またはインタフェース名。外部型がない場合は、slash-separatedパッケージ名が含まれます
-
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を示すことができない場合
-
outerTypeがnullでない場合にclassNameによって表されるクラスを示しません。