InstanceOfTree (Java SE 26 & JDK 26)
Description: declaration: module: jdk.compiler, package: com.sun.source.tree, interface: InstanceOfTree
Keywords: com.sun.source.tree.InstanceOfTree interface

# Interface InstanceOfTree

All Superinterfaces:
  `ExpressionTree, Tree`

public interface InstanceOfTree extends ExpressionTree
A tree node for an `instanceof` expression. For example:

      expression instanceof type

      expression instanceof pattern

See Java Language Specification:
  15.20.2 The instanceof Operator
Since:
  1.6

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface Tree

  `Tree.Kind`
  Modifier and Type
  Interface
  Description
  `static enum`
  `Tree.Kind`
  Enumerates all kinds of trees.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ExpressionTree`
  `getExpression()`
  Returns the expression to be tested.
  `PatternTree`
  `getPattern()`
  Returns the tested pattern, or `null` if this `instanceof` does not use a pattern.
  `Tree`
  `getType()`
  Returns the type for which to check, or `null` if this `instanceof` uses a pattern other the `BindingPatternTree`.

  ### Methods declared in interface Tree

  `accept, getKind`
  Modifier and Type
  Method
  Description
  `<R,D> R`
  `accept(TreeVisitor<R,D> visitor, D data)`
  Accept method used to implement the visitor pattern.
  `Tree.Kind`
  `getKind()`
  Returns the kind of this tree.

- ## Method Details

  - ### getExpression

    ExpressionTree getExpression()
    Returns the expression to be tested.
    Returns:
      the expression

  - ### getType

    Tree getType()
    Returns the type for which to check, or `null` if this `instanceof` uses a pattern other the `BindingPatternTree`.

    For `instanceof` without a pattern, i.e. in the following form:

          expression instanceof type

    returns the type.

    For `instanceof` with a `BindingPatternTree`, i.e. in the following form:

          expression instanceof type variable_name

    returns the type.

    For instanceof with a pattern, i.e. in the following form:

          expression instanceof pattern

    returns `null`.
    Returns:
      the type or `null` if this `instanceof` uses a pattern other than the BindingPatternTree
    See Also:
      - `getPattern()`

  - ### getPattern

    PatternTree getPattern()
    Returns the tested pattern, or `null` if this `instanceof` does not use a pattern.

    For instanceof with a pattern, i.e. in the following form:

          expression instanceof pattern

    returns the pattern.

    For `instanceof` without a pattern, i.e. in the following form:

          expression instanceof type

    returns `null`.
    Returns:
      the tested pattern, or `null` if this `instanceof` does not use a pattern
    Since:
      16