Type (Java SE 14 & JDK 14)
Description: declaration: module: jdk.jdi, package: com.sun.jdi, interface: Type
Keywords: com.sun.jdi.Type interface

Module jdk.jdi
Package com.sun.jdi

# Interface Type

All Superinterfaces:
  `Mirror`

All Known Subinterfaces:
  `ArrayType`, `BooleanType`, `ByteType`, `CharType`, `ClassType`, `DoubleType`, `FloatType`, `IntegerType`, `InterfaceType`, `LongType`, `PrimitiveType`, `ReferenceType`, `ShortType`, `VoidType`

    public interface Type
    extends Mirror

The mirror for a type in the target VM. This interface is the root of a type hierarchy encompassing primitive types and reference types.

A Type may be used to represent a run-time type:

> `Value`.type()

or a compile-time type:

> `Field.type()`
> `Method.returnType()`
> `Method.argumentTypes()`
> `LocalVariable.type()`
> `ArrayType.componentType()`

The following tables illustrate which subinterfaces of Type are used to mirror types in the target VM --

Subinterfaces of `PrimitiveType`
Type declared in target as | Is mirrored as an instance of
--- | ---
`boolean` | `BooleanType`
`byte` | `ByteType`
`char` | `CharType`
`double` | `DoubleType`
`float` | `FloatType`
`int` | `IntegerType`
`long` | `LongType`
`short` | `ShortType`
`void` | `VoidType`

Subinterfaces of `ReferenceType`
Type declared in target as | For example | Is mirrored as an instance of
--- | --- | ---
a class | `Date` | `ClassType`
an interface | `Runnable` | `InterfaceType`
an array | (any) | `ArrayType`
`int[]` | `ArrayType` whose `componentType()` is `IntegerType`
`Date[]` | `ArrayType` whose `componentType()` is `ClassType`
`Runnable[]` | `ArrayType` whose `componentType()` is `InterfaceType`

Since:
  1.3
See Also:
  `Subinterface PrimitiveType`, `Subinterface ReferenceType`, `Value - for relationship between Type and Value`, `Field.type() - for usage examples`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `String` | `name()` |
  `String` | `signature()` | Returns the JNI-style signature for this type.

  ### Methods declared in interface com.sun.jdi.Mirror

  `toString, virtualMachine`

- ## Method Details

  - ### signature

    String signature()
    Returns the JNI-style signature for this type.

    For primitive classes the returned signature is the signature of the corresponding primitive type; for example, "I" is returned as the signature of the class represented by `Integer.TYPE`.

    Returns:
      the string containing the type signature.
    See Also:
      Type Signatures

  - ### name

    String name()
    Returns:
      a text representation of this type.