GitHub の Java プロジェクトを読んでいて、見たことのないコード構文を見つけたので、説明をお願いします。コードは次のとおりです。
Book book = new BookBuilder() {
{
description("blabla");
author("blabla");
title("blabla");
isbn("123456789");
category(category);
}
}.build();
BookBuilder
標準のJavaクラスのようで、呼び出された各メソッド(説明、作成者...)はBookBuilder
オブジェクトを返します。
私の質問は、構文のbook = new BookBuilder() {{ ... }}
意味は何ですか?