TypeDescriptor.OfField (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.invoke, interface: TypeDescriptor, interface: OfField
Keywords: java.lang.invoke.TypeDescriptor.OfField interface

# Interface TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>

Type Parameters:
  `F` - the class implementing TypeDescriptor.OfField

All Superinterfaces:
  `TypeDescriptor`

All Known Subinterfaces:
  `ClassDesc`

All Known Implementing Classes:
  `Class`

Enclosing interface:
  `TypeDescriptor`

public static interface TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>> extends TypeDescriptor
An entity that has a field type descriptor. Field descriptors conforming to JVMS 4.3.2 can be described nominally via `Class::describeConstable`; otherwise they cannot be described nominally.

See Java Virtual Machine Specification:
  4.3.2 Field Descriptors
Since:
  12

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface TypeDescriptor

  `TypeDescriptor.OfField<F>, TypeDescriptor.OfMethod<F,M>`
  Modifier and Type
  Interface
  Description
  `static interface`
  `TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>`
  An entity that has a field type descriptor.
  `static interface`
  `TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>, M extends TypeDescriptor.OfMethod<F,M>>`
  An entity that has a method type descriptor Method descriptors conforming to JVMS 4.3.3 can be described nominally via `MethodType::describeConstable`; otherwise they cannot be described nominally.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `F`
  `arrayType()`
  Return a descriptor for the array type whose component type is described by this descriptor
  `F`
  `componentType()`
  If this field descriptor describes an array type, return a descriptor for its component type, otherwise return `null`.
  `boolean`
  `isArray()`
  Does this field descriptor describe an array type?
  `boolean`
  `isPrimitive()`
  Does this field descriptor describe a primitive type (including void.)

  ### Methods declared in interface TypeDescriptor

  `descriptorString`
  Modifier and Type
  Method
  Description
  `String`
  `descriptorString()`
  Returns the descriptor string for this `TypeDescriptor` object.

- ## Method Details

  - ### isArray

    boolean isArray()
    Does this field descriptor describe an array type?
    Returns:
      whether this field descriptor describes an array type

  - ### isPrimitive

    boolean isPrimitive()
    Does this field descriptor describe a primitive type (including void.)
    Returns:
      whether this field descriptor describes a primitive type

  - ### componentType

    F componentType()
    If this field descriptor describes an array type, return a descriptor for its component type, otherwise return `null`.
    Returns:
      the component type, or `null` if this field descriptor does not describe an array type

  - ### arrayType

    F arrayType()
    Return a descriptor for the array type whose component type is described by this descriptor
    Returns:
      the descriptor for the array type