Skip to main content
MANIFOLD
When will Java have Value Classes/Value Types?
14
แน€11kแน€59k
2034
1%
December 31, 2025
4%
December 31, 2026
15%
December 31, 2027
7%
Never
75%
December 31, 2028

This market predicts when the mainstream Java programming language will support Value Classes (also known as Value Types).

A Value Type qualifies only if it meets the following criteria and is available as a language feature in a production-quality, mainstream JDK (Java Development Kit):

  1. Definition of Value Types: Value Types are a new kind of type in Java, designed to be lightweight, immutable, and without identity. They have the following characteristics:

    • Immutability: Instances of Value Types are immutable, meaning their state cannot be changed after creation.

    • Equality: Value Types support == for value-based equality, comparing their constituent values (at least as a default behavior).

    • Instance Methods: Value Types can contain code, including instance methods, allowing them to have behavior in addition to state.

    • No Identity: Value Types do not have object identity, meaning they cannot be compared using identity comparison (e.g., System.identityHashCode).

    • Direct Containment in Arrays: Value Types can be stored directly in arrays without boxing, meaning they are stored as their raw values rather than as references.

  2. Exit from Preview: The feature must exit the preview release phase and be officially included in a stable, production-quality release of the JDK. This means the feature must be finalized and available in a major JDK release that is intended for widespread use and adoption.

  3. Mainstream JDKs: The feature must be included in a mainstream JDK distribution such as OpenJDK, Oracle JDK, or other widely recognized JDK distributions that are used in production environments.

This market will resolve based on the earliest official release date of a production-quality JDK that includes Value Types as described above. The market will be updated with new options until the feature becomes available.

Each option represents a time frame by which the feature is predicted to be available. The option resolves YES if the feature is available ON or BEFORE the date, otherwise it resolves NO.

If the planned feature is officially abandoned (through the Java Community Process), and there is no proposed replacement feature that would satisfy the criteria, then the option "Never" will resolve YES and all other options resolve NO.

Resolution date will be extended as necessary.

Market context
Get
แน€1,000
to start trading!
Sort by:
sold แน€83 YES

@Ansel December 31, 2025 can resolve NO

Current state of affairs: A preview of JEP 401 (value classes and objects) is set to be included in JDK 28 which will be released in March 2027, with a full release in SDK 29 (September 2027) at the earliest, though if Brian Goetz (the Java Language Architect)'s comment here is anything to go by, it'll likely be later than that

bought แน€2,000 NO

@mods can you resolve this one option no pls

@prismatic I donโ€™t think the options can resolve independently

@Ansel the market type is multiple choice independent, it is possible

@prismatic got it, just a slightly misleading UX

Is it possible that all options resolve NO?

@Fynn If the creator doesn't add any more options, then per the criteria: yes it's possible all options resolve NO

Speaking of though: @Ansel maybe add some more dates?