# Interface IntersectionType

All Superinterfaces:
  `AnnotatedConstruct, TypeMirror`

public interface IntersectionType extends TypeMirror
Represents an intersection type.

An intersection type can be either implicitly or explicitly declared in a program. For example, the bound of the type parameter `<T extends Number & Runnable>` is an (implicit) intersection type. This is represented by an `IntersectionType` with `Number` and `Runnable` as its bounds.

Implementation Note:
  In the reference implementation an `IntersectionType` is used to model the explicit target type of a cast expression.
Since:
  1.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<? extends TypeMirror>`
  `getBounds()`
  Returns the bounds comprising this intersection type.

  ### Methods declared in interface TypeMirror

  `accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, hashCode, toString`

- ## Method Details

  - ### getBounds

    List<? extends TypeMirror> getBounds()
    Returns the bounds comprising this intersection type.
    Returns:
      the bounds comprising this intersection type