var
Mutably! Hassle-free local variables.
var
was promoted to the main package in lombok 1.16.20; given that JEP 286 establishes expectations, and lombok's take onvar
follows these, we've decided to promotevar
eventhough the feature remains controversial.var
was introduced in lombok 1.16.12 as experimental feature.
Overview
var
works exactly like val
, except the local variable is not marked as final
.
The type is still entirely derived from the mandatory initializer expression, and any further assignments, while now legal (because the variable is no longer final
), aren't looked at to determine the appropriate type.
For example, var x = "Hello"; x = Color.RED;
does not work; the type of x will be inferred to be java.lang.String
and thus, the x = Color.RED
assignment will fail. If the type of x
was inferred to be java.lang.Object
this code would have compiled, but that's not howvar
works.
Supported configuration keys:
-
lombok.var.flagUsage
= [warning
|error
] (default: not set) -
Lombok will flag any usage of
var
as a warning or error if configured.