Lombok v1.16.12 で var が追加されました。final じゃない val ですね。
Lombok Changelog
v1.16.12 (December 5th, 2016)
FEATURE: var is the mutable sister of val. For now experimental, and opt-in using ALLOW in the flagUsage configuration key. Thanks for the contribution, Bulgakov Alexander.
...
この機能は非常に議論を呼ぶものであり、JEP 286が適用されれば要らなくなるため、実験的な機能として実装されたとのこと。
設定方法
共通
プロジェクトルートの lombok.config ファイルに以下を追記 (ファイルが無ければ作る)
lombok.var.flagUsage = ALLOW
Eclipseの場合
通常通りlombokのjarファイルを実行してEclipseにインストールする。
※保存時に不要importを除去する設定になっている場合、 import lombok.experimental.var;
が消えてしまうことが多いです。どうしたものか? (marsで確認)
Intellij IDEAの場合
まだプラグインが対応しておらず、使えませんでした。
→ issue登録したら対応してくれました。次期バージョン(0.14)のリリースを待ちましょう。
使用方法
Javaのコード内で lombok.experimental.var をインポートし、ローカル変数定義時の型の代わりに使用する。
package sample;
import lombok.experimental.var;
public class Sample {
public static void main(String[] args) {
var hoge = "hoge";
System.out.println(hoge);
hoge = "ほげ";// finalじゃないので再代入可
System.out.println(hoge);
}
}