# Enum Field.Cardinality (3.19.4)

    public enum Field.Cardinality extends Enum<Field.Cardinality> implements Internal.EnumLite

Whether a field is optional, required, or repeated.

Protobuf enum `google.protobuf.Field.Cardinality`

## Implements

[Internal.EnumLite](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Internal.EnumLite)

## Inherited Members

[Enum.\<T\>valueOf(Class\<T\>,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) [Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) [Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) [Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) [Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) [Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) [Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) [Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) [Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) [Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

| ## Static Fields ||
|---|---|
| **Name** | **Description** |
| `CARDINALITY_OPTIONAL` | For optional fields. `CARDINALITY_OPTIONAL = 1;` |
| `CARDINALITY_OPTIONAL_VALUE` | For optional fields. `CARDINALITY_OPTIONAL = 1;` |
| `CARDINALITY_REPEATED` | For repeated fields. `CARDINALITY_REPEATED = 3;` |
| `CARDINALITY_REPEATED_VALUE` | For repeated fields. `CARDINALITY_REPEATED = 3;` |
| `CARDINALITY_REQUIRED` | For required fields. Proto2 syntax only. `CARDINALITY_REQUIRED = 2;` |
| `CARDINALITY_REQUIRED_VALUE` | For required fields. Proto2 syntax only. `CARDINALITY_REQUIRED = 2;` |
| `CARDINALITY_UNKNOWN` | For fields with unknown cardinality. `CARDINALITY_UNKNOWN = 0;` |
| `CARDINALITY_UNKNOWN_VALUE` | For fields with unknown cardinality. `CARDINALITY_UNKNOWN = 0;` |
| `UNRECOGNIZED` |   |

| ## Static Methods ||
|---|---|
| **Name** | **Description** |
| `forNumber(int value)` |   |
| `internalGetValueMap()` |   |
| `internalGetVerifier()` |   |
| `valueOf(int value)` | **Deprecated.** *Use [#forNumber(int)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Field.Cardinality#com_google_protobuf_Field_Cardinality_forNumber_int_) instead.* |
| `valueOf(String name)` |   |
| `values()` |   |

| ## Methods ||
|---|---|
| **Name** | **Description** |
| `getNumber()` |   |