> ## Documentation Index
> Fetch the complete documentation index at: https://docs.canton.network/llms.txt
> Use this file to discover all available pages before exploring further.

# ContractId

> This class is used as a super class for all concrete ContractIds generated by the java codegen with the following properties: Foo.ContractId fooCid = new Foo.ContractId("test"); Bar.ContractId barCid = new Bar.ContractId("test"); ContractId<Foo> genericFooCid = new ContractId<>("test"); ContractId<Foo> genericBarCid = new ContractId<>("test"); fooCid.equals(genericFooCid) == true; genericFooCid.equals(fooCid) == true; fooCid.equals(barCid) == false; barCid.equals(fooCid) == false; Due to erase, we cannot distinguish ContractId<Foo> from ContractId<Bar>, thus: fooCid.equals(genericBarCid) == true genericBarCid.equals(fooCid) == true genericFooCid.equals(genericBarCid) == true genericBarCid.equals(genericFooCid) == true

## ContractId - stable

Upstream docs: [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html)

**Signature**

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
public class ContractId<T> extends Object implements Exercises<ExerciseCommand>
```

**Members**

| Docs                                                                                                                                                                                 | Member                                        | Introduced | Deprecated | Removed |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- | ---------- | ---------- | ------- |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#%3Cinit%3E%28java.lang.String%29)                                   | `ContractId(String)`                          | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#contractId)                                                         | `contractId`                                  | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#equals%28java.lang.Object%29)                                       | `equals(Object)`                              | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#hashCode%28%29)                                                     | `hashCode()`                                  | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#makeExerciseCmd%28com.daml.ledger.javaapi.data.codegen.Choice,A%29) | `makeExerciseCmd(Choice<?, ? super A, R>, A)` | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#toString%28%29)                                                     | `toString()`                                  | `3.4.8`    | -          | -       |
| [Open](https://javadoc.io/doc/com.daml/bindings-java/3.4.11/com/daml/ledger/javaapi/data/codegen/ContractId.html#toValue%28%29)                                                      | `toValue()`                                   | `3.4.8`    | -          | -       |
