Lombokはgetter/setterの自動生成など非常に便利な機能を提供してくれます。が、意外と使われてなさそうな"val"。とってもオススメです。参照( http://qiita.com/alpha_pz/items/914722e78cdd5cb5a3c2 )
valは参照記事のように、変数宣言を省略しますが、加えてfinal宣言も追加します。
val value = new String();
は、
final String value = new String();
と同義になります。なので、valで宣言された変数は不変であることも保証されます。変数の使い回しはろくでもないことがよく起こるのでいいことですね。
基本valで宣言、不変にできない変数だけvalを使わない、ぐらいの方針でいいのではないでしょうか。
逆に言うと以下のコードは通りません。
val value = new String();
value = "a"; // error!