#import "_features.html" as f> <@f.scaffold title="var" logline="Mutably! Hassle-free local variables."> <@f.history>
var was promoted to the main package in lombok 1.16.20; given that JEP 286 establishes expectations, and lombok's take on var follows these, we've decided to promote var eventhough the feature remains controversial.var was introduced in lombok 1.16.12 as experimental feature.
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.
lombok.var.flagUsage = [warning | error] (default: not set)
var as a warning or error if configured.