IntersectionType (Java Platform SE 8 )
Keywords: javax.lang.model.type.IntersectionType interface
Date: 2026-08-19

compact3
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. As of `RELEASE_8`, this is represented by an `IntersectionType` with `Number` and `Runnable` as its bounds.

  Implementation Note:
    Also as of `RELEASE_8`, in the reference implementation an `IntersectionType` is used to model the explicit target type of a cast expression.
  Since:
    1.8

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<? extends TypeMirror>` | `getBounds()` Return the bounds comprising this intersection type.

    - ### Methods inherited from interface javax.lang.model.type.TypeMirror

      `accept, equals, getKind, hashCode, toString`

    - ### Methods inherited from interface javax.lang.model.AnnotatedConstruct

      `getAnnotation, getAnnotationMirrors, getAnnotationsByType`

- - ### Method Detail

    - #### getBounds

          List<? extends TypeMirror> getBounds()

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.