# Interface Signature.ArrayTypeSig

All Superinterfaces:
  `Signature`, `Signature.RefTypeSig`

Enclosing interface:
  `Signature`

public static sealed interface Signature.ArrayTypeSig extends Signature.RefTypeSig
Models the signature of an array type.

See Java Language Specification:
  10.1 Array Types
See Java Virtual Machine Specification:
  4.7.9.1 Signatures
Since:
  24
See Also:
  - `Type`
  - `GenericArrayType`

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface java.lang.classfile.Signature

  `Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeArg, Signature.TypeParam, Signature.TypeVarSig`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Signature`
  `componentSignature()`
  Returns the signature of the component type.
  `static Signature.ArrayTypeSig`
  `of(int dims, Signature componentSignature)`
  Returns a signature for an array type.
  `static Signature.ArrayTypeSig`
  `of(Signature componentSignature)`
  Returns an array type with the given component type.

  ### Methods declared in interface java.lang.classfile.Signature

  `signatureString`

- ## Method Details

  - ### componentSignature

    Signature componentSignature()
    Returns the signature of the component type.
    Returns:
      the signature of the component type

  - ### of

    static Signature.ArrayTypeSig of(Signature componentSignature)
    Returns an array type with the given component type.
    Parameters:
      `componentSignature` - the component type
    Returns:
      an array type with the given component type

  - ### of

    static Signature.ArrayTypeSig of(int dims, Signature componentSignature)
    Returns a signature for an array type.
    Parameters:
      `dims` - the dimension of the array
      `componentSignature` - the component type
    Returns:
      a signature for an array type
    Throws:
      `IllegalArgumentException` - if the resulting array type exceeds 255 dimensions