# Interface TypeMirror

All Known Subinterfaces:
  `AnnotationType, ArrayType, ClassType, DeclaredType, EnumType, InterfaceType, PrimitiveType, ReferenceType, TypeVariable, VoidType, WildcardType`

public interface TypeMirror
Represents a type in the Java programming language. Types include primitive types, class and interface types, array types, and type variables. Wildcard type arguments, and the pseudo-type representing the type of `void`, are represented by type mirrors as well.

Types may be compared using the utility methods in `Types`. There is no guarantee that any particular type will always be represented by the same object.

Since:
  1.5
Version:
  1.3 04/07/16
Author:
  Joseph D. Darcy, Scott Seligman
See Also:
  - `Declaration`
  - `Types`

## Method Summary

Modifier and Type
Method
Description
`void`
`accept(TypeVisitor v)`
Applies a visitor to this type.
`boolean`
`equals(Object obj)`
Tests whether two types represent the same type.
`String`
`toString()`
Returns a string representation of this type.

## Method Details

### toString

String toString()
Returns a string representation of this type. Any names embedded in the expression are qualified.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of this type

### equals

boolean equals(Object obj)
Tests whether two types represent the same type.

Overrides:
  `equals` in class `Object`
Parameters:
  `obj` - the object to be compared with this type
Returns:
  `true` if the specified object represents the same type as this.

### accept

void accept(TypeVisitor v)
Applies a visitor to this type.

Parameters:
  `v` - the visitor operating on this type