var
可变性!轻松处理局部变量。
var
在 lombok 1.16.20 中被提升到主包;鉴于 JEP 286 确立了预期,并且 lombok 对var
的采用遵循了这些预期,我们已决定提升var
,即使该功能仍然存在争议。var
在 lombok 1.16.12 中作为实验性功能引入。
概述
var
的工作方式与 val
完全相同,只是局部变量没有标记为 final
。
类型仍然完全从强制性的初始化表达式中推导出来,并且任何进一步的赋值,虽然现在是合法的(因为变量不再是 final
),但不会被考虑用于确定适当的类型。
例如,var x = "Hello"; x = Color.RED;
不起作用;x 的类型将被推断为 java.lang.String
,因此 x = Color.RED
的赋值将失败。如果 x
的类型被推断为 java.lang.Object
,这段代码将会编译,但这并非 var
的工作方式。
支持的配置键
-
lombok.var.flagUsage
= [warning
|error
] (默认值:未设置) - 如果配置,Lombok 将标记任何
var
的使用为警告或错误。