MethodTypeEntry (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile.constantpool, interface: MethodTypeEntry
Keywords: java.lang.classfile.constantpool.MethodTypeEntry interface

# Interface MethodTypeEntry

All Superinterfaces:
  `LoadableConstantEntry, PoolEntry`

public sealed interface MethodTypeEntry extends LoadableConstantEntry
Models a `CONSTANT_MethodType_info` structure, or a symbolic reference to a method type, in the constant pool of a `class` file.

The use of a `MethodTypeEntry` is modeled by a `MethodTypeDesc`. Conversions are through `ConstantPoolBuilder.methodTypeEntry(MethodTypeDesc)` and `asSymbol()`.

A method type entry is composite:

    MethodTypeEntry(Utf8Entry descriptor)

where `descriptor` is a method descriptor string.

See Java Virtual Machine Specification:
  4.4.9 The `CONSTANT_MethodType_info` Structure
Since:
  24

- ## Field Summary

  ### Fields declared in interface PoolEntry

  `TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `MethodTypeDesc`
  `asSymbol()`
  Returns a symbolic descriptor for the method type.
  `default ConstantDesc`
  `constantValue()`
  Returns a symbolic descriptor of this constant.
  `Utf8Entry`
  `descriptor()`
  Returns the method descriptor string.
  `boolean`
  `matches(MethodTypeDesc desc)`
  Returns whether this entry describes the given method type.

  ### Methods declared in interface LoadableConstantEntry

  `typeKind`

  ### Methods declared in interface PoolEntry

  `constantPool, index, tag, width`

- ## Method Details

  - ### constantValue

    default ConstantDesc constantValue()
    Returns a symbolic descriptor of this constant.

    This is equivalent to `asSymbol()`.

    Specified by:
      `constantValue` in interface `LoadableConstantEntry`
    Returns:
      a symbolic descriptor of this constant
    See Also:
      - `ConstantPoolBuilder.loadableConstantEntry(ConstantDesc)`

  - ### descriptor

    Utf8Entry descriptor()
    Returns the method descriptor string.
    Returns:
      the method descriptor string

  - ### asSymbol

    MethodTypeDesc asSymbol()
    Returns a symbolic descriptor for the method type.
    API Note:
      If only symbol equivalence is desired, `matches` should be used. It requires reduced parsing and can improve `class` file reading performance.
    Returns:
      a symbolic descriptor for the method type

  - ### matches

    boolean matches(MethodTypeDesc desc)
    Returns whether this entry describes the given method type.
    Parameters:
      `desc` - the method type descriptor
    Returns:
      whether this entry describes the given method type
    Since:
      25