# 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 Signature

  `Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeArg, Signature.TypeParam, Signature.TypeVarSig`
  Modifier and Type
  Interface
  Description
  `static interface`
  `Signature.ArrayTypeSig`
  Models the signature of an array type.
  `static interface`
  `Signature.BaseTypeSig`
  Models the signature of a primitive type (JLS 4.2) or void.
  `static interface`
  `Signature.ClassTypeSig`
  Models the signature of a possibly-parameterized class or interface type.
  `static interface`
  `Signature.RefTypeSig`
  Models the signature of a reference type, which may be a class, interface, type variable, or array type.
  `static interface`
  `Signature.ThrowableSig`
  Marker interface for a signature for a throwable type.
  `static interface`
  `Signature.TypeArg`
  Models a type argument, an argument to a type parameter.
  `static interface`
  `Signature.TypeParam`
  Models a signature for a type parameter of a generic class, interface, method, or constructor, which introduces a type variable.
  `static interface`
  `Signature.TypeVarSig`
  Models the signature of a type variable.

- ## 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 Signature

  `signatureString`
  Modifier and Type
  Method
  Description
  `String`
  `signatureString()`
  Returns the raw signature string.

- ## 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
    Throws:
      `IllegalArgumentException` - if the component type is void

  - ### 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 `dims < 1` or the resulting array type exceeds 255 dimensions or the component type is void