TypeDescriptor.OfField (Java SE 12 & JDK 12 )
Keywords: java.lang.invoke.TypeDescriptor.OfField interface

Module java.base
Package java.lang.invoke

## 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
  Since:
    12
  See The Java™ Virtual Machine Specification:
    4.3.2 Field Descriptors

- - ### Nested Class Summary

    - ### Nested classes/interfaces declared in interface java.lang.invoke.TypeDescriptor

      `TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>, TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>,​M extends TypeDescriptor.OfMethod<F,​M>>`

  - ### 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 java.lang.invoke.TypeDescriptor

      `descriptorString`

- - ### Method Detail

    - #### 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