8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

lombok.valを使ってローカル変数の型宣言を省略する

Last updated at Posted at 2015-05-11

ローカル変数の型宣言を省略

lombokは、導入するとアノテーションでいくつかのコードや宣言を省略できる強力なライブラリです。Javaはローカル変数もきちんと型宣言しますが、これも省略が可能になります。

ローカル変数はvalで略記可能

例えばデータベースに対して検索条件を指定し、検索した結果を返すServiceクラスと、検索結果を一部加工してから画面へ出力するActionクラス、この2つを作るとします。

また、Serviceクラスが返す検索結果は、List<Map<String,Object>>で返されるとします。

このとき、通常のActionクラスは次のようになるでしょう。
※Actionクラスから画面へ値を渡す処理、ならびに加工処理は省略しています。

BeforeAction.java
public class BeforeAction {
	public String start() throws Exception {
		// Serviceクラスの呼び出し
		List<Map<String,Object>> resultList = service.execute("param");

		// resultListに何らかの加工処理.....
		
		// 画面へ渡す処理....
		
		// 処理終了
		return SUCCESS;
	}
}

resultListの宣言部にも、Serviceクラスのexecuteメソッドの実行結果と同じ宣言にします。ここの宣言部はIDEなどで自動補完することもできますが、lombokを使うことで次のように省略できます。

AfterAction.java
import lombok.val;

public class BeforeAction {
	public String start() throws Exception {
		// Serviceクラスの呼び出し
		val resultList = service.execute("param");

		// resultListに何らかの加工処理.....
		
		// 画面へ渡す処理....
		
		// 処理終了
		return SUCCESS;
	}
}

このように、他クラスの実行結果を受け取るローカル変数に対し、型宣言をコードから省略できました。Scalaっぽいですね。

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?