IntersectionType (Java SE 12 & JDK 12 )
Keywords: javax.lang.model.type.IntersectionType interface

Module java.compiler
Package javax.lang.model.type

## 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()` | Return the bounds comprising this intersection type.

    - ### Methods declared in interface javax.lang.model.AnnotatedConstruct

      `getAnnotation, getAnnotationMirrors, getAnnotationsByType`

    - ### Methods declared in interface javax.lang.model.type.TypeMirror

      `accept, equals, getKind, hashCode, toString`

- - ### Method Detail

    - #### getBounds

          List<? extends TypeMirror> getBounds()

      Return the bounds comprising this intersection type.
      Returns:
        the bounds of this intersection type