# NavType

Artifact: [androidx.navigation:navigation-common](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/NavType.+class:androidx.navigation.NavType) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

*** ** * ** ***


```
public abstract class NavType<T extends Object>
```

<br />

Known direct subclasses [CollectionNavType](https://developer.android.com/reference/androidx/navigation/CollectionNavType), [NavType.ParcelableArrayType](https://developer.android.com/reference/androidx/navigation/NavType.ParcelableArrayType), [NavType.ParcelableType](https://developer.android.com/reference/androidx/navigation/NavType.ParcelableType), [NavType.SerializableArrayType](https://developer.android.com/reference/androidx/navigation/NavType.SerializableArrayType), [NavType.SerializableType](https://developer.android.com/reference/androidx/navigation/NavType.SerializableType)

|---|---|
| `https://developer.android.com/reference/androidx/navigation/CollectionNavType` | A `https://developer.android.com/reference/androidx/navigation/NavType` for `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html` such as arrays, lists, maps. |
| `https://developer.android.com/reference/androidx/navigation/NavType.ParcelableArrayType` | ParcelableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s which hold arrays of Parcelables. |
| `https://developer.android.com/reference/androidx/navigation/NavType.ParcelableType` | ParcelableType is used for passing Parcelables in `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |
| `https://developer.android.com/reference/androidx/navigation/NavType.SerializableArrayType` | SerializableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s that hold arrays of Serializables. |
| `https://developer.android.com/reference/androidx/navigation/NavType.SerializableType` | SerializableType is used for Serializable `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |

Known indirect subclasses [NavType.EnumType](https://developer.android.com/reference/androidx/navigation/NavType.EnumType)

|---|---|
| `https://developer.android.com/reference/androidx/navigation/NavType.EnumType` | EnumType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s holding enum values. |

*** ** * ** ***

NavType denotes the type that can be used in a `https://developer.android.com/reference/androidx/navigation/NavArgument`.

There are built-in NavTypes for primitive types, such as int, long, boolean, float, and strings, parcelable, and serializable classes (including Enums), as well as arrays of each supported type.

You should only use one of the static NavType instances and subclasses defined in this class.

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html>` | the type of the data that is supported by this NavType |

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/navigation/NavType.EnumType<D extends https://developer.android.com/reference/java/lang/Enum.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?>> extends https://developer.android.com/reference/androidx/navigation/NavType.SerializableType<@https://developer.android.com/reference/androidx/annotation/NonNull D>` EnumType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s holding enum values. |
| `public final class https://developer.android.com/reference/androidx/navigation/NavType.ParcelableArrayType<D extends https://developer.android.com/reference/android/os/Parcelable.html> extends https://developer.android.com/reference/androidx/navigation/NavType<D[]>` ParcelableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s which hold arrays of Parcelables. |
| `public final class https://developer.android.com/reference/androidx/navigation/NavType.ParcelableType<D extends https://developer.android.com/reference/java/lang/Object.html> extends https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull D>` ParcelableType is used for passing Parcelables in `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |
| `public final class https://developer.android.com/reference/androidx/navigation/NavType.SerializableArrayType<D extends https://developer.android.com/reference/java/io/Serializable.html> extends https://developer.android.com/reference/androidx/navigation/NavType<D[]>` SerializableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s that hold arrays of Serializables. |
| `public class https://developer.android.com/reference/androidx/navigation/NavType.SerializableType<D extends https://developer.android.com/reference/java/io/Serializable.html> extends https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull D>` SerializableType is used for Serializable `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<boolean[]>` | `https://developer.android.com/reference/androidx/navigation/NavType#BoolArrayType()` NavType for storing boolean arrays, corresponding with the "boolean\[\]" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Boolean.html>>` | `https://developer.android.com/reference/androidx/navigation/NavType#BoolListType()` NavType for storing list of Booleans. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Boolean.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#BoolType()` NavType for storing boolean values, corresponding with the "boolean" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<float[]>` | `https://developer.android.com/reference/androidx/navigation/NavType#FloatArrayType()` NavType for storing float arrays, corresponding with the "float\[\]" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Float.html>>` | `https://developer.android.com/reference/androidx/navigation/NavType#FloatListType()` NavType for storing list of Floats. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Float.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#FloatType()` NavType for storing float values, corresponding with the "float" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<int[]>` | `https://developer.android.com/reference/androidx/navigation/NavType#IntArrayType()` NavType for storing integer arrays, corresponding with the "integer\[\]" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>>` | `https://developer.android.com/reference/androidx/navigation/NavType#IntListType()` NavType for storing list of Ints. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#IntType()` NavType for storing integer values, corresponding with the "integer" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<long[]>` | `https://developer.android.com/reference/androidx/navigation/NavType#LongArrayType()` NavType for storing long arrays, corresponding with the "long\[\]" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Long.html>>` | `https://developer.android.com/reference/androidx/navigation/NavType#LongListType()` NavType for storing list of Longs. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Long.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#LongType()` NavType for storing long values, corresponding with the "long" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Integer.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#ReferenceType()` NavType for storing integer values representing resource ids, corresponding with the "reference" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<String[]>` | `https://developer.android.com/reference/androidx/navigation/NavType#StringArrayType()` NavType for storing String arrays, corresponding with the "string\[\]" type in a Navigation XML file. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html>>` | `https://developer.android.com/reference/androidx/navigation/NavType#StringListType()` NavType for storing list of Strings. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/navigation/NavType#StringType()` NavType for storing String values, corresponding with the "string" type in a Navigation XML file. |

| ### Public constructors |
|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html> https://developer.android.com/reference/androidx/navigation/NavType#NavType(kotlin.Boolean)(boolean isNullableAllowed)` |

| ### Public methods |
|---|---|
| `static @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>` | `https://developer.android.com/reference/androidx/navigation/NavType#fromArgType(kotlin.String,kotlin.String)(https://developer.android.com/reference/java/lang/String.html type, https://developer.android.com/reference/java/lang/String.html packageName)` Parse an argType string into a NavType. |
| `abstract T` | `https://developer.android.com/reference/androidx/navigation/NavType#get(android.os.Bundle,kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Bundle.html bundle, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key)` Get a value of this type from the `savedState` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/navigation/NavType#getName()()` The name of this type. |
| `boolean` | `https://developer.android.com/reference/androidx/navigation/NavType#isNullableAllowed()()` Check if an argument with this type can hold a null value. |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull T` | `https://developer.android.com/reference/androidx/navigation/NavType#parseValue(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value)` Parse a value of this type from a String. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T` | `https://developer.android.com/reference/androidx/navigation/NavType#parseValue(kotlin.String,kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value, @https://developer.android.com/reference/androidx/annotation/NonNull T previousValue)` Parse a value of this type from a String and then combine that parsed value with the given previousValue of the same type to provide a new value that contains both the new and previous value. |
| `abstract void` | `https://developer.android.com/reference/androidx/navigation/NavType#put(android.os.Bundle,kotlin.String,kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Bundle.html bundle, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key, @https://developer.android.com/reference/androidx/annotation/NonNull T value)` Put a value of this type in the `savedState` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/navigation/NavType#serializeAsValue(kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull T value)` Serialize a value of this NavType into a String. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/navigation/NavType#toString()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/navigation/NavType#toString()()` |
| `boolean` | `https://developer.android.com/reference/androidx/navigation/NavType#valueEquals(kotlin.Any,kotlin.Any)(@https://developer.android.com/reference/androidx/annotation/NonNull T value, @https://developer.android.com/reference/androidx/annotation/NonNull T other)` Compares two values of type `https://developer.android.com/reference/androidx/navigation/NavType` and returns true if values are equal. |

## Public fields

### BoolArrayType

```
public static final @NonNull NavType<boolean[]> BoolArrayType
```

NavType for storing boolean arrays, corresponding with the "boolean\[\]" type in a Navigation XML file.

Null values are supported. Default values in Navigation XML files are not supported.

### BoolListType

```
public static final @NonNull NavType<List<@NonNull Boolean>> BoolListType
```

NavType for storing list of Booleans.

Null values are supported. List NavTypes in Navigation XML files are not supported.

### BoolType

```
public static final @NonNull NavType<@NonNull Boolean> BoolType
```

NavType for storing boolean values, corresponding with the "boolean" type in a Navigation XML file.

Null values are not supported.

### FloatArrayType

```
public static final @NonNull NavType<float[]> FloatArrayType
```

NavType for storing float arrays, corresponding with the "float\[\]" type in a Navigation XML file.

Null values are supported. Default values in Navigation XML files are not supported.

### FloatListType

```
public static final @NonNull NavType<List<@NonNull Float>> FloatListType
```

NavType for storing list of Floats.

Null values are supported. List NavTypes in Navigation XML files are not supported.

### FloatType

```
public static final @NonNull NavType<@NonNull Float> FloatType
```

NavType for storing float values, corresponding with the "float" type in a Navigation XML file.

Null values are not supported.

### IntArrayType

```
public static final @NonNull NavType<int[]> IntArrayType
```

NavType for storing integer arrays, corresponding with the "integer\[\]" type in a Navigation XML file.

Null values are supported. Default values in Navigation XML files are not supported.

### IntListType

```
public static final @NonNull NavType<List<@NonNull Integer>> IntListType
```

NavType for storing list of Ints.

Null values are supported. List NavTypes in Navigation XML files are not supported.

### IntType

```
public static final @NonNull NavType<@NonNull Integer> IntType
```

NavType for storing integer values, corresponding with the "integer" type in a Navigation XML file.

Null values are not supported.

### LongArrayType

```
public static final @NonNull NavType<long[]> LongArrayType
```

NavType for storing long arrays, corresponding with the "long\[\]" type in a Navigation XML file.

Null values are supported. Default values in Navigation XML files are not supported.

### LongListType

```
public static final @NonNull NavType<List<@NonNull Long>> LongListType
```

NavType for storing list of Longs.

Null values are supported. List NavTypes in Navigation XML files are not supported.

### LongType

```
public static final @NonNull NavType<@NonNull Long> LongType
```

NavType for storing long values, corresponding with the "long" type in a Navigation XML file.

Null values are not supported. Default values for this type in Navigation XML files must always end with an 'L' suffix, e.g. `app:defaultValue="123L"`.

### ReferenceType

```
public static final @NonNull NavType<@NonNull Integer> ReferenceType
```

NavType for storing integer values representing resource ids, corresponding with the "reference" type in a Navigation XML file.

Null values are not supported.

### StringArrayType

```
public static final @NonNull NavType<String[]> StringArrayType
```

NavType for storing String arrays, corresponding with the "string\[\]" type in a Navigation XML file.

Null values are supported. Default values in Navigation XML files are not supported.

### StringListType

```
public static final @NonNull NavType<List<@NonNull String>> StringListType
```

NavType for storing list of Strings.

Null values are supported. List NavTypes in Navigation XML files are not supported.

### StringType

```
public static final @NonNull NavType<String> StringType
```

NavType for storing String values, corresponding with the "string" type in a Navigation XML file.

Null values are supported.

## Public constructors

### NavType

```
public <T extends Object> NavType(boolean isNullableAllowed)
```

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html>` | the type of the data that is supported by this NavType |
| `boolean isNullableAllowed` | whether an argument with this type can hold a null value. |

## Public methods

### fromArgType

Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static @NonNull NavType<@NonNull ?> fromArgType(String type, String packageName)
```

Parse an argType string into a NavType.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html type` | argType string, usually parsed from the Navigation XML file |
| `https://developer.android.com/reference/java/lang/String.html packageName` | package name of the R file, used for parsing relative class names starting with a dot. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavType<@https://developer.android.com/reference/androidx/annotation/NonNull ?>` | a NavType representing the type indicated by the argType string. Defaults to StringType for null. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if there is no valid argType |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-runtime-exception/index.html` | if the type class name cannot be found |

### get

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public abstract T get(@NonNull Bundle bundle, @NonNull String key)
```

Get a value of this type from the `savedState`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Bundle.html bundle` | savedState to get value from |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | savedState key |

| Returns |
|---|---|
| `T` | value of this type |

### getName

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public @NonNull String getName()
```

The name of this type.

This is the same value that is used in Navigation XML `argType` attribute.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | name of this type |

### isNullableAllowed

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public boolean isNullableAllowed()
```

Check if an argument with this type can hold a null value.

| Returns |
|---|---|
| `boolean` | Returns true if this type allows null values, false otherwise. |

### parseValue

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public abstract @NonNull T parseValue(@NonNull String value)
```

Parse a value of this type from a String.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value` | string representation of a value of this type |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull T` | parsed value of the type represented by this NavType |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if value cannot be parsed into this type |

### parseValue

Added in [2.6.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.6.0)

```
public @NonNull T parseValue(@NonNull String value, @NonNull T previousValue)
```

Parse a value of this type from a String and then combine that parsed value with the given previousValue of the same type to provide a new value that contains both the new and previous value.

By default, the given value will replace the previousValue.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value` | string representation of a value of this type |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T previousValue` | previously parsed value of this type |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull T` | combined parsed value of the type represented by this NavType |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if value cannot be parsed into this type |

### put

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public abstract void put(@NonNull Bundle bundle, @NonNull String key, @NonNull T value)
```

Put a value of this type in the `savedState`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Bundle.html bundle` | savedState to put value in |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html key` | savedState key |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T value` | value of this type |

### serializeAsValue

Added in [2.6.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.6.0)

```
public @NonNull String serializeAsValue(@NonNull T value)
```

Serialize a value of this NavType into a String.

By default it returns value of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/index.html` or null if value passed in is null.

This method can be override for custom serialization implementation on types such custom NavType classes.

Note: Final output should be encoded with `https://developer.android.com/reference/androidx/navigation/NavUriUtils#encode(kotlin.String,kotlin.String)`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull T value` | a value representing this NavType to be serialized into a String |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | encoded and serialized String value of `https://developer.android.com/reference/androidx/navigation/NavType#serializeAsValue(kotlin.Any)` |

### toString

```
public @NonNull String toString()
```

### toString

```
public @NonNull String toString()
```

### valueEquals

Added in [2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0)

```
public boolean valueEquals(@NonNull T value, @NonNull T other)
```

Compares two values of type `https://developer.android.com/reference/androidx/navigation/NavType` and returns true if values are equal.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull T value` | the first value for comparison |
| `@https://developer.android.com/reference/androidx/annotation/NonNull T other` | the second value for comparison |