diff --git a/airflow-core/docs/authoring-and-scheduling/language-sdks/java.rst b/airflow-core/docs/authoring-and-scheduling/language-sdks/java.rst index c8b73b4626a28..703675412ec76 100644 --- a/airflow-core/docs/authoring-and-scheduling/language-sdks/java.rst +++ b/airflow-core/docs/authoring-and-scheduling/language-sdks/java.rst @@ -426,6 +426,14 @@ represented as Java objects when read back via ``getXCom``. - object - ``Map`` +.. note:: + + ``char`` and ``Character`` are not supported. JSON has no single-character type, so a + character value is stored as a JSON string (or a number) and is read back as one of the + Java types in the table above. Declaring ``char`` or ``Character`` as an + ``@Builder.XCom`` parameter compiles, but reading a pushed value fails at runtime with a + ``ClassCastException``. Use ``String`` instead. + .. note:: An ``@Builder.XCom`` parameter that reads a value which was never pushed resolves to