Java SE 18.3 ( JSR 383)
Public Review Specification
Iris Clark & Brian Goetz
2017/11/30 11:01 -0800 [2fddddf0fece]

This Specification defines version 18.3 of the Java Platform, Standard Edition.

4Feature summary
5Feature details
A1Complete API Specification
A2API Specification differences
A3Java Language & Virtual Machine Specifications

This release continues the evolution of the Platform to ensure the broadest possible success of the core Java technology. It adds features which address trends in the programming community and hardware architectures.


This document specifies API features, enhancements, clarifications, and bug fixes. The specifications of those changes are contained in two accompanying documents: Annex 1 is the complete Java SE 18.3 API Specification and Annex 2 is an annotated API specification showing the exact differences relative to Java SE 9.

This Specification includes the Java SE 18.3 Editions of The Java Language Specification and The Java Virtual Machine Specification in Annex 3. The Java SE 18.3 Editions contain all corrections and clarifications made since the Java SE 9 Editions, as well as additions for new features.

The Final Release of this Specification is expected to include all of the currently described features and updates; however, further changes may be forthcoming. For example, the Expert Group could determine that a feature is not yet ready for standardization.


Changes to the Java SE Platform Specification are categorized as either features or enhancements. A feature is, roughly speaking, a change of which at least one of the following statements is true:

Any addition that is not a feature is considered an enhancement.

There is, obviously, room for judgment when interpreting this definition. In order to maximize the visibility of Platform revisions we generally tend to consider borderline items to be features rather than enhancements.

Feature summary  
LanguageLocal-Variable Type Inference
Feature details  

Work on features in the Java SE 18.3 Reference Implementation, which is the Java Development Kit, version 18.3 (JDK 18.3), is organized in terms of JDK Enhancement Proposals (JEPs). Each feature description includes a link to the corresponding JEP document as a convenience, but that document is not a normative part of this Specification.

Local-Variable Type Inference

Enhance the Java Language to extend type inference to declarations of local variables with initializers.


This Specification incorporates the following subsections by reference from Java SE 9 Platform Specification (JSR 379), “Modules”: