Попробуйте это:
@Data
@Builder
@Accessors(fluent = true) // <— This is what you want
public class User {
private final String firstName;
private final String lastName;
private final int age;
}
Затем использовать:
User user = User.builder()
.firstName("foo")
.lastName("bar")
.age(22)
.build();
И позже:
user.setFirstName("baz").setAge(23); // fluent setters
Обратите внимание, как User
можно сделать неизменным (лучшая практика), заполнив все поля final
. Если вам нужна изменчивость, удалите final
ключевых слов.