JLS 10 favicon
All About JLS 10
JLS 10 • 2018 • Local-variable inference begins
varLocal inferenceReduced ceremony

All About JLS 10

JLS 10 introduced local-variable type inference with `var`, a targeted simplification rather than a broad move to implicit typing.

Specification edition

JLS 10

JLS 10 introduced local-variable type inference with `var`, a targeted simplification rather than a broad move to implicit typing.

varLocal inferenceReduced ceremony
What shifted

How the specification changed

Defined where inference is allowed and where explicit typing remains required.

It improved readability in many local contexts while preserving Java's explicitness at API boundaries.

Reading note

Why this edition matters

The spec changes are deceptively small-looking but important for maintaining Java's balance between clarity and convenience.

This milestone is useful when comparing Java's conservative inference story to other mainstream languages.

Related pages

Continue through the language-spec path