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;
不會work;x 的類型將被推斷為 java.lang.String
,因此,x = Color.RED
的賦值將會失敗。如果 x
的類型被推斷為 java.lang.Object
,這段程式碼將會編譯成功,但 var
並非如此運作。
支援的配置鍵
-
lombok.var.flagUsage
= [warning
|error
] (預設值:未設定) - 如果已配置,Lombok 將會把任何
var
的使用標記為警告或錯誤。