Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#inhmethods)

# TypeDescriptor.OfField

` public static interface TypeDescriptor.OfField `   
` implements https://developer.android.com/reference/java/lang/invoke/TypeDescriptor `

|---|
| java.lang.invoke.TypeDescriptor.OfField\<F extends [java.lang.invoke.TypeDescriptor.OfField](https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField)\<F\>\> |

Known indirect subclasses [Class](https://developer.android.com/reference/java/lang/Class)\<T\> [Class](https://developer.android.com/reference/java/lang/Class)\<T\> Instances of the class `Class` represent classes and interfaces in a running Java application.   

*** ** * ** ***

An entity that has a field type descriptor. Field descriptors conforming to JVMS {@jvms 4.3.2} can be described

## Summary

| ### Public methods ||
|---|---|
| ` abstract F` | ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#arrayType()() ` Return a descriptor for the array type whose component type is described by this descriptor |
| ` abstract F` | ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#componentType()() ` If this field descriptor describes an array type, return a descriptor for its component type, otherwise return `null`. |
| ` abstract boolean` | ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#isArray()() ` Does this field descriptor describe an array type? |
| ` abstract boolean` | ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor.OfField#isPrimitive()() ` Does this field descriptor describe a primitive type (including void.) |

### Inherited methods

From interface ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor ` ` abstract https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/invoke/TypeDescriptor#descriptorString()() `

Returns the descriptor string for this `TypeDescriptor` object.

## Public methods

### arrayType

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract F arrayType ()
```

Return a descriptor for the array type whose component type is described by this descriptor

<br />

| Returns ||
|---|---|
| `F` | the descriptor for the array type <br /> |

### componentType

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract F componentType ()
```

If this field descriptor describes an array type, return a descriptor for its component type, otherwise return `null`.

<br />

| Returns ||
|---|---|
| `F` | the component type, or `null` if this field descriptor does not describe an array type <br /> |

### isArray

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract boolean isArray ()
```

Does this field descriptor describe an array type?

<br />

| Returns ||
|---|---|
| `boolean` | whether this field descriptor describes an array type <br /> |

### isPrimitive

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract boolean isPrimitive ()
```

Does this field descriptor describe a primitive type (including void.)

<br />

| Returns ||
|---|---|
| `boolean` | whether this field descriptor describes a primitive type <br /> |