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

# VarHandle.AccessMode

` public static final enum VarHandle.AccessMode `   
` ` ` extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode> ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[java.lang.invoke.VarHandle.AccessMode](https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode)\> ||
|   | ↳ | java.lang.invoke.VarHandle.AccessMode |

<br />

*** ** * ** ***

The set of access modes that specify how a variable, referenced by a VarHandle, is accessed.

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `COMPARE_AND_EXCHANGE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchange(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `COMPARE_AND_EXCHANGE_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchangeAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `COMPARE_AND_EXCHANGE_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchangeRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `COMPARE_AND_SET` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndSet(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#get(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_ADD` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAdd(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_ADD_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAddAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_ADD_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAddRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_AND` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAnd(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_AND_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAndAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_AND_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAndRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_OR` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOr(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_OR_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOrAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_OR_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOrRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_XOR` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXor(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_XOR_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXorAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_BITWISE_XOR_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXorRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_SET` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSet(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_SET_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSetAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_AND_SET_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSetRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_OPAQUE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getOpaque(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `GET_VOLATILE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getVolatile(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `SET` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#set(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `SET_OPAQUE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setOpaque(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `SET_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setRelease(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `SET_VOLATILE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setVolatile(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `WEAK_COMPARE_AND_SET` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSet(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `WEAK_COMPARE_AND_SET_ACQUIRE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetAcquire(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `WEAK_COMPARE_AND_SET_PLAIN` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetPlain(java.lang.Object[])` |
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | `WEAK_COMPARE_AND_SET_RELEASE` The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetRelease(java.lang.Object[])` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#methodName()() ` Returns the `VarHandle` signature-polymorphic method name associated with this `AccessMode` value. |
| ` static https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | ` https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#valueFromMethodName(java.lang.String)(https://developer.android.com/reference/java/lang/String methodName) ` Returns the `AccessMode` value associated with the specified `VarHandle` signature-polymorphic method name. |
| ` static https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | ` https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | ` https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#values()() ` |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Enum ` ` final https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Enum#clone()() `

Throws CloneNotSupportedException.
` final int` ` https://developer.android.com/reference/java/lang/Enum#compareTo(E)(https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode o) `

Compares this enum with the specified object for order.
` final boolean` ` https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other) `

Returns true if the specified object is equal to this enum constant.
` final void` ` https://developer.android.com/reference/java/lang/Enum#finalize()() `

enum classes cannot have finalize methods.
` final https://developer.android.com/reference/java/lang/Class<https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode>` ` https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()() `

Returns the Class object corresponding to this enum constant's enum type.
` final int` ` https://developer.android.com/reference/java/lang/Enum#hashCode()() `

Returns a hash code for this enum constant.
` final https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Enum#name()() `

Returns the name of this enum constant, exactly as declared in its enum declaration.
` final int` ` https://developer.android.com/reference/java/lang/Enum#ordinal()() `

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Enum#toString()() `

Returns the name of this enum constant, as contained in the declaration.
` static <T extends https://developer.android.com/reference/java/lang/Enum<T>> T` ` https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name) `

Returns the enum constant of the specified enum class with the specified name.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/java/lang/Comparable ` ` abstract int` ` https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode o) `

Compares this object with the specified object for order.

## Enum values

### COMPARE_AND_EXCHANGE

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

```
public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchange(java.lang.Object[])`

<br />

### COMPARE_AND_EXCHANGE_ACQUIRE

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

```
public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchangeAcquire(java.lang.Object[])`

<br />

### COMPARE_AND_EXCHANGE_RELEASE

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

```
public static final VarHandle.AccessMode COMPARE_AND_EXCHANGE_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndExchangeRelease(java.lang.Object[])`

<br />

### COMPARE_AND_SET

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

```
public static final VarHandle.AccessMode COMPARE_AND_SET
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#compareAndSet(java.lang.Object[])`

<br />

### GET

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

```
public static final VarHandle.AccessMode GET
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#get(java.lang.Object[])`

<br />

### GET_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAcquire(java.lang.Object[])`

<br />

### GET_AND_ADD

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

```
public static final VarHandle.AccessMode GET_AND_ADD
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAdd(java.lang.Object[])`

<br />

### GET_AND_ADD_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_AND_ADD_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAddAcquire(java.lang.Object[])`

<br />

### GET_AND_ADD_RELEASE

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

```
public static final VarHandle.AccessMode GET_AND_ADD_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndAddRelease(java.lang.Object[])`

<br />

### GET_AND_BITWISE_AND

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_AND
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAnd(java.lang.Object[])`

<br />

### GET_AND_BITWISE_AND_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_AND_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAndAcquire(java.lang.Object[])`

<br />

### GET_AND_BITWISE_AND_RELEASE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_AND_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseAndRelease(java.lang.Object[])`

<br />

### GET_AND_BITWISE_OR

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_OR
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOr(java.lang.Object[])`

<br />

### GET_AND_BITWISE_OR_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_OR_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOrAcquire(java.lang.Object[])`

<br />

### GET_AND_BITWISE_OR_RELEASE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_OR_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseOrRelease(java.lang.Object[])`

<br />

### GET_AND_BITWISE_XOR

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_XOR
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXor(java.lang.Object[])`

<br />

### GET_AND_BITWISE_XOR_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_XOR_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXorAcquire(java.lang.Object[])`

<br />

### GET_AND_BITWISE_XOR_RELEASE

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

```
public static final VarHandle.AccessMode GET_AND_BITWISE_XOR_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndBitwiseXorRelease(java.lang.Object[])`

<br />

### GET_AND_SET

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

```
public static final VarHandle.AccessMode GET_AND_SET
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSet(java.lang.Object[])`

<br />

### GET_AND_SET_ACQUIRE

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

```
public static final VarHandle.AccessMode GET_AND_SET_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSetAcquire(java.lang.Object[])`

<br />

### GET_AND_SET_RELEASE

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

```
public static final VarHandle.AccessMode GET_AND_SET_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getAndSetRelease(java.lang.Object[])`

<br />

### GET_OPAQUE

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

```
public static final VarHandle.AccessMode GET_OPAQUE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getOpaque(java.lang.Object[])`

<br />

### GET_VOLATILE

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

```
public static final VarHandle.AccessMode GET_VOLATILE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#getVolatile(java.lang.Object[])`

<br />

### SET

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

```
public static final VarHandle.AccessMode SET
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#set(java.lang.Object[])`

<br />

### SET_OPAQUE

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

```
public static final VarHandle.AccessMode SET_OPAQUE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setOpaque(java.lang.Object[])`

<br />

### SET_RELEASE

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

```
public static final VarHandle.AccessMode SET_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setRelease(java.lang.Object[])`

<br />

### SET_VOLATILE

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

```
public static final VarHandle.AccessMode SET_VOLATILE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#setVolatile(java.lang.Object[])`

<br />

### WEAK_COMPARE_AND_SET

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

```
public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSet(java.lang.Object[])`

<br />

### WEAK_COMPARE_AND_SET_ACQUIRE

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

```
public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_ACQUIRE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetAcquire(java.lang.Object[])`

<br />

### WEAK_COMPARE_AND_SET_PLAIN

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

```
public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_PLAIN
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetPlain(java.lang.Object[])`

<br />

### WEAK_COMPARE_AND_SET_RELEASE

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

```
public static final VarHandle.AccessMode WEAK_COMPARE_AND_SET_RELEASE
```

The access mode whose access is specified by the corresponding method `https://developer.android.com/reference/java/lang/invoke/VarHandle#weakCompareAndSetRelease(java.lang.Object[])`

<br />

## Public methods

### methodName

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

```
public String methodName ()
```

Returns the `VarHandle` signature-polymorphic method name associated with this `AccessMode` value.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the signature-polymorphic method name <br /> |

**See also:**

- `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#valueFromMethodName(java.lang.String)`

### valueFromMethodName

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

```
public static VarHandle.AccessMode valueFromMethodName (String methodName)
```

Returns the `AccessMode` value associated with the specified `VarHandle` signature-polymorphic method name.

<br />

| Parameters ||
|---|---|
| `methodName` | `String`: the signature-polymorphic method name <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | the `AccessMode` value <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if there is no `AccessMode` value associated with method name (indicating the method name does not correspond to a `VarHandle` signature-polymorphic method name). |

**See also:**

- `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode#methodName()`

### valueOf

```
public static VarHandle.AccessMode valueOf (String name)
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | <br /> |

### values

```
public static final AccessMode[] values ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/invoke/VarHandle.AccessMode` | <br /> |